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