58 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package system
 | 
						|
 | 
						|
import (
 | 
						|
	"net/http"
 | 
						|
 | 
						|
	"management/internal/db/model/dto"
 | 
						|
	"management/internal/erpserver/biz"
 | 
						|
	"management/internal/pkg/convertor"
 | 
						|
	"management/internal/pkg/tpl"
 | 
						|
)
 | 
						|
 | 
						|
type AuditHandler interface {
 | 
						|
	List(w http.ResponseWriter, r *http.Request)
 | 
						|
}
 | 
						|
 | 
						|
type auditHandler struct {
 | 
						|
	render tpl.Renderer
 | 
						|
	biz    biz.IBiz
 | 
						|
}
 | 
						|
 | 
						|
var _ AuditHandler = (*auditHandler)(nil)
 | 
						|
 | 
						|
func NewAuditHandler(render tpl.Renderer, biz biz.IBiz) *auditHandler {
 | 
						|
	return &auditHandler{
 | 
						|
		render: render,
 | 
						|
		biz:    biz,
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (h *auditHandler) List(w http.ResponseWriter, r *http.Request) {
 | 
						|
	switch r.Method {
 | 
						|
	case http.MethodGet:
 | 
						|
		h.render.HTML(w, r, "audit_log/list.tmpl", nil)
 | 
						|
	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.biz.SystemV1().AuditBiz().List(r.Context(), q)
 | 
						|
		if err != nil {
 | 
						|
			http.Error(w, err.Error(), http.StatusInternalServerError)
 | 
						|
			return
 | 
						|
		}
 | 
						|
 | 
						|
		data := tpl.ResponseList{
 | 
						|
			Code:    0,
 | 
						|
			Message: "ok",
 | 
						|
			Count:   count,
 | 
						|
			Data:    res,
 | 
						|
		}
 | 
						|
		h.render.JSON(w, data)
 | 
						|
	default:
 | 
						|
		http.Error(w, "Method Not Allowed", http.StatusMethodNotAllowed)
 | 
						|
	}
 | 
						|
}
 |