This commit is contained in:
2025-04-01 14:13:41 +08:00
parent d7183fcc00
commit 7857015405
97 changed files with 1917 additions and 6934 deletions

View File

@@ -7,7 +7,6 @@ import (
"management/internal/erpserver/biz"
"management/internal/pkg/convertor"
"management/internal/pkg/tpl"
"management/internal/router/manage/util"
)
type AuditHandler interface {
@@ -34,7 +33,7 @@ func (h *auditHandler) List(w http.ResponseWriter, r *http.Request) {
h.render.HTML(w, r, "audit_log/list.tmpl", nil)
case http.MethodPost:
var q dto.SearchDto
q.SearchTimeBegin, q.SearchTimeEnd = util.DefaultStartTimeAndEndTime(r.PostFormValue("timeBegin"), r.PostFormValue("timeEnd"))
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)

View File

@@ -214,6 +214,15 @@ func (h *categoryHandler) Data(w http.ResponseWriter, r *http.Request) {
return
}
h.render.JSON(w, res)
return
} else if t == "xmselect" {
res, err := h.biz.SystemV1().CategoryBiz().XmSelect(ctx, vars.Get("letter"))
if err != nil {
h.render.JSONERR(w, err.Error())
return
}
h.render.JSON(w, res)
return
}

View File

@@ -8,8 +8,8 @@ import (
"management/internal/db/model/dto"
db "management/internal/db/sqlc"
"management/internal/erpserver/biz"
"management/internal/global/pearadmin"
"management/internal/pkg/convertor"
"management/internal/pkg/know/pearadmin"
"management/internal/pkg/redis"
"management/internal/pkg/tpl"
)

View File

@@ -7,7 +7,6 @@ import (
"management/internal/erpserver/biz"
"management/internal/pkg/convertor"
"management/internal/pkg/tpl"
"management/internal/router/manage/util"
)
type LoginLogHandler interface {
@@ -34,7 +33,7 @@ func (h *loginLogHandler) List(w http.ResponseWriter, r *http.Request) {
h.render.HTML(w, r, "login_log/list.tmpl", nil)
case http.MethodPost:
var q dto.SearchDto
q.SearchTimeBegin, q.SearchTimeEnd = util.DefaultStartTimeAndEndTime(r.PostFormValue("timeBegin"), r.PostFormValue("timeEnd"))
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)

View File

@@ -10,8 +10,8 @@ import (
"management/internal/db/model/dto"
db "management/internal/db/sqlc"
"management/internal/erpserver/biz"
"management/internal/global/know"
"management/internal/pkg/convertor"
"management/internal/pkg/know"
"management/internal/pkg/session"
"management/internal/pkg/tpl"

View File

@@ -11,7 +11,6 @@ import (
"management/internal/erpserver/biz"
"management/internal/pkg/convertor"
"management/internal/pkg/tpl"
"management/internal/router/manage/util"
)
type RoleHandler interface {
@@ -302,7 +301,7 @@ func (h *roleHandler) SetMenu(w http.ResponseWriter, r *http.Request) {
var menuList []*db.SysMenu
for _, v := range menuArr {
menuID := util.ConvertInt(v, 0)
menuID := convertor.ConvertInt(v, 0)
if menuID > 0 {
menu, err := h.biz.SystemV1().MenuBiz().Get(ctx, int32(menuID))
if err != nil {

View File

@@ -4,6 +4,7 @@ import (
"net/http"
"management/internal/erpserver/biz"
"management/internal/pkg/middleware"
"management/internal/pkg/redis"
"management/internal/pkg/session"
"management/internal/pkg/tpl"
@@ -26,16 +27,18 @@ type systemHandler struct {
redis redis.IRedis
session session.ISession
biz biz.IBiz
mi middleware.IMiddleware
}
var _ SystemHandler = (*systemHandler)(nil)
func NewSystemHandler(render tpl.Renderer, redis redis.IRedis, session session.ISession, biz biz.IBiz) *systemHandler {
func NewSystemHandler(render tpl.Renderer, redis redis.IRedis, session session.ISession, biz biz.IBiz, mi middleware.IMiddleware) *systemHandler {
return &systemHandler{
render: render,
redis: redis,
session: session,
biz: biz,
mi: mi,
}
}
@@ -44,7 +47,7 @@ func (h *systemHandler) Home(w http.ResponseWriter, r *http.Request) {
}
func (h *systemHandler) UserHandler() UserHandler {
return NewUserHandler(h.render, h.session, h.biz)
return NewUserHandler(h.render, h.session, h.biz, h.mi)
}
func (h *systemHandler) MenuHandler() MenuHandler {

View File

@@ -10,16 +10,14 @@ import (
db "management/internal/db/sqlc"
"management/internal/erpserver/biz"
"management/internal/erpserver/model/req"
"management/internal/global"
"management/internal/global/html"
"management/internal/global/know"
"management/internal/middleware/manage/auth"
"management/internal/pkg/convertor"
"management/internal/pkg/crypto"
"management/internal/pkg/know"
"management/internal/pkg/middleware"
"management/internal/pkg/rand"
"management/internal/pkg/session"
"management/internal/pkg/tpl"
"management/internal/router/manage/util"
"management/internal/pkg/tpl/html"
"github.com/google/uuid"
"github.com/zhang2092/browser"
@@ -46,16 +44,18 @@ type userHandler struct {
render tpl.Renderer
session session.ISession
biz biz.IBiz
mi middleware.IMiddleware
}
// 确保 userHandler 实现了 UserHandler 接口.
var _ UserHandler = (*userHandler)(nil)
func NewUserHandler(render tpl.Renderer, session session.ISession, biz biz.IBiz) *userHandler {
func NewUserHandler(render tpl.Renderer, session session.ISession, biz biz.IBiz, mi middleware.IMiddleware) *userHandler {
return &userHandler{
render: render,
session: session,
biz: biz,
mi: mi,
}
}
@@ -200,16 +200,16 @@ func (h *userHandler) List(w http.ResponseWriter, r *http.Request) {
switch r.Method {
case http.MethodGet:
h.render.HTML(w, r, "user/list.tmpl", map[string]any{
"Statuses": html.NewSelectControls(global.SearchStatuses, 0),
"Statuses": html.NewSelectControls(html.SearchStatuses, "0"),
})
case http.MethodPost:
var q dto.SearchDto
q.SearchStatus = util.ConvertInt(r.PostFormValue("status"), 9999)
q.SearchStatus = convertor.ConvertInt(r.PostFormValue("status"), 9999)
q.SearchName = r.PostFormValue("name")
q.SearchEmail = r.PostFormValue("email")
q.SearchID = convertor.ConvertInt[int64](r.PostFormValue("id"), 0)
q.Page = util.ConvertInt(r.PostFormValue("page"), 1)
q.Rows = util.ConvertInt(r.PostFormValue("rows"), 10)
q.Page = convertor.ConvertInt(r.PostFormValue("page"), 1)
q.Rows = convertor.ConvertInt(r.PostFormValue("rows"), 10)
res, count, err := h.biz.SystemV1().UserBiz().List(r.Context(), q)
if err != nil {
h.render.JSONERR(w, err.Error())
@@ -230,7 +230,7 @@ func (h *userHandler) List(w http.ResponseWriter, r *http.Request) {
func (h *userHandler) Profile(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
user := auth.AuthUser(ctx)
user := h.mi.AuthUser(ctx)
vm, _ := h.biz.SystemV1().UserBiz().Get(ctx, user.ID)
h.render.HTML(w, r, "user/profile.tmpl", map[string]any{
"Item": vm,