package system import ( "net/http" "management/internal/erpserver/handler" "management/internal/erpserver/model/dto" v1 "management/internal/erpserver/service/v1" "management/internal/erpserver/templ/system/auditlog" "management/internal/pkg/convertor" "management/internal/pkg/render" ) type AuditHandler struct { *handler.Handler auditLogService v1.AuditLogService } func NewAuditHandler(handler *handler.Handler, auditLogService v1.AuditLogService) *AuditHandler { return &AuditHandler{ Handler: handler, auditLogService: auditLogService, } } func (h *AuditHandler) List(w http.ResponseWriter, r *http.Request) { switch r.Method { case http.MethodGet: ctx := r.Context() h.Render(ctx, w, auditlog.List(ctx)) case http.MethodPost: var q dto.SearchDto q.SearchTimeBegin, q.SearchTimeEnd = convertor.DefaultStartTimeAndEndTime(r.PostFormValue("timeBegin"), r.PostFormValue("timeEnd")) q.SearchName = r.PostFormValue("name") q.SearchEmail = r.PostFormValue("email") q.Page = convertor.ConvertInt(r.PostFormValue("page"), 1) q.Rows = convertor.ConvertInt(r.PostFormValue("rows"), 10) res, count, err := h.auditLogService.List(r.Context(), q) if err != nil { h.JSONErr(w, err.Error()) return } data := render.ResponseList{ Code: 0, Message: "ok", Count: count, Data: res, } h.JSON(w, data) default: http.Error(w, "Method Not Allowed", http.StatusMethodNotAllowed) } }