56 lines
1.4 KiB
Go
56 lines
1.4 KiB
Go
|
|
package logic
|
||
|
|
|
||
|
|
import (
|
||
|
|
"context"
|
||
|
|
|
||
|
|
"muyu-apiserver/rpc/system/internal/svc"
|
||
|
|
"muyu-apiserver/rpc/system/pb"
|
||
|
|
|
||
|
|
"github.com/zeromicro/go-zero/core/logx"
|
||
|
|
"google.golang.org/grpc/codes"
|
||
|
|
"google.golang.org/grpc/status"
|
||
|
|
)
|
||
|
|
|
||
|
|
type ListOperationLogLogic struct {
|
||
|
|
ctx context.Context
|
||
|
|
svcCtx *svc.ServiceContext
|
||
|
|
logx.Logger
|
||
|
|
}
|
||
|
|
|
||
|
|
func NewListOperationLogLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListOperationLogLogic {
|
||
|
|
return &ListOperationLogLogic{
|
||
|
|
ctx: ctx,
|
||
|
|
svcCtx: svcCtx,
|
||
|
|
Logger: logx.WithContext(ctx),
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func (l *ListOperationLogLogic) ListOperationLog(in *pb.ListLogReq) (*pb.ListLogResp, error) {
|
||
|
|
logs, total, err := l.svcCtx.LogModel.FindList(l.ctx, in.Page, in.PageSize, in.Username, in.Module, in.Operation, in.StartTime, in.EndTime)
|
||
|
|
if err != nil {
|
||
|
|
return nil, status.Error(codes.Internal, err.Error())
|
||
|
|
}
|
||
|
|
|
||
|
|
list := make([]*pb.OperationLogInfo, 0, len(logs))
|
||
|
|
for _, logItem := range logs {
|
||
|
|
list = append(list, &pb.OperationLogInfo{
|
||
|
|
LogId: logItem.LogId,
|
||
|
|
UserId: logItem.UserId,
|
||
|
|
Username: logItem.Username,
|
||
|
|
Module: logItem.Module,
|
||
|
|
Operation: logItem.Operation,
|
||
|
|
Method: logItem.Method,
|
||
|
|
Path: logItem.Path,
|
||
|
|
Ip: logItem.Ip,
|
||
|
|
Duration: logItem.Duration,
|
||
|
|
Status: logItem.Status,
|
||
|
|
CreatedAt: logItem.CreatedAt.Format("2006-01-02 15:04:05"),
|
||
|
|
})
|
||
|
|
}
|
||
|
|
|
||
|
|
return &pb.ListLogResp{
|
||
|
|
Total: total,
|
||
|
|
List: list,
|
||
|
|
}, nil
|
||
|
|
}
|