update
This commit is contained in:
parent
3bd4c5d672
commit
b6aff77084
4
Makefile
4
Makefile
@ -51,3 +51,7 @@ templ:
|
||||
.PHONY: test
|
||||
test:
|
||||
go test -v -cover ./...
|
||||
|
||||
.PHONY: ab
|
||||
ab:
|
||||
ab -c 200 -n 5000 -H "Cookie: token=7a-zLwSNZmSF8LnMG-qC90I_pjs89tyaK_XR8HYBMZA" http://localhost:9001/system/role/list
|
||||
|
||||
12
cmd/erp.go
12
cmd/erp.go
@ -8,7 +8,6 @@ import (
|
||||
"time"
|
||||
|
||||
"management/internal/erpserver"
|
||||
"management/internal/erpserver/repository/seed"
|
||||
"management/internal/pkg/config"
|
||||
"management/internal/pkg/mid"
|
||||
|
||||
@ -56,20 +55,13 @@ func runErp() error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer fn()
|
||||
|
||||
// database seed
|
||||
if err = seed.Init(
|
||||
app.ConfigRepo,
|
||||
app.DepartmentRepo,
|
||||
app.RoleRepo,
|
||||
app.UserRepo,
|
||||
app.MenuRepo,
|
||||
); err != nil {
|
||||
if err := app.Seed.Run(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
defer fn()
|
||||
|
||||
// 初始化审计缓冲器
|
||||
mid.InitAuditBuffer(app.AuditLogService, l)
|
||||
|
||||
|
||||
16
go.mod
16
go.mod
@ -5,7 +5,6 @@ go 1.24.2
|
||||
require (
|
||||
github.com/a-h/templ v0.3.898
|
||||
github.com/alexedwards/scs/v2 v2.8.0
|
||||
github.com/allegro/bigcache/v3 v3.1.0
|
||||
github.com/drhin/logger v0.0.0-20250417021954-aa33afe047bc
|
||||
github.com/fsnotify/fsnotify v1.9.0
|
||||
github.com/fvbock/endless v0.0.0-20170109170031-447134032cb6
|
||||
@ -17,9 +16,11 @@ require (
|
||||
github.com/google/wire v0.6.0
|
||||
github.com/h2non/filetype v1.1.3
|
||||
github.com/jackc/pgx/v5 v5.7.4
|
||||
github.com/json-iterator/go v1.1.12
|
||||
github.com/justinas/nosurf v1.1.1
|
||||
github.com/matoous/go-nanoid/v2 v2.1.0
|
||||
github.com/mojocn/base64Captcha v1.3.8
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible
|
||||
github.com/redis/go-redis/v9 v9.8.0
|
||||
github.com/spf13/cobra v1.9.1
|
||||
github.com/spf13/viper v1.20.1
|
||||
@ -27,6 +28,7 @@ require (
|
||||
github.com/zhang2092/browser v0.0.2
|
||||
go.uber.org/zap v1.27.0
|
||||
golang.org/x/crypto v0.38.0
|
||||
golang.org/x/sync v0.15.0
|
||||
gorm.io/datatypes v1.2.5
|
||||
gorm.io/driver/postgres v1.5.11
|
||||
gorm.io/gorm v1.30.0
|
||||
@ -35,13 +37,8 @@ require (
|
||||
require (
|
||||
filippo.io/edwards25519 v1.1.0 // indirect
|
||||
github.com/blang/semver/v4 v4.0.0 // indirect
|
||||
github.com/bytedance/sonic v1.13.3 // indirect
|
||||
github.com/bytedance/sonic/loader v0.2.4 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
||||
github.com/cloudwego/base64x v0.1.5 // indirect
|
||||
github.com/dgraph-io/ristretto v0.2.0 // indirect
|
||||
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
||||
github.com/dustin/go-humanize v1.0.1 // indirect
|
||||
github.com/gabriel-vasile/mimetype v1.4.9 // indirect
|
||||
github.com/go-sql-driver/mysql v1.9.2 // indirect
|
||||
github.com/go-viper/mapstructure/v2 v2.2.1 // indirect
|
||||
@ -52,15 +49,11 @@ require (
|
||||
github.com/jackc/puddle/v2 v2.2.2 // indirect
|
||||
github.com/jinzhu/inflection v1.0.0 // indirect
|
||||
github.com/jinzhu/now v1.1.5 // indirect
|
||||
github.com/json-iterator/go v1.1.12 // indirect
|
||||
github.com/klauspost/cpuid/v2 v2.0.9 // indirect
|
||||
github.com/leodido/go-urn v1.4.0 // indirect
|
||||
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 // indirect
|
||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||
github.com/natefinch/lumberjack v2.0.0+incompatible // indirect
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/sagikazarmark/locafero v0.9.0 // indirect
|
||||
github.com/sourcegraph/conc v0.3.0 // indirect
|
||||
github.com/spf13/afero v1.14.0 // indirect
|
||||
@ -69,12 +62,9 @@ require (
|
||||
github.com/subosito/gotenv v1.6.0 // indirect
|
||||
github.com/tdewolff/parse v2.3.4+incompatible // indirect
|
||||
github.com/tdewolff/test v1.0.11 // indirect
|
||||
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
|
||||
go.uber.org/multierr v1.11.0 // indirect
|
||||
golang.org/x/arch v0.0.0-20210923205945-b76863e36670 // indirect
|
||||
golang.org/x/image v0.27.0 // indirect
|
||||
golang.org/x/net v0.40.0 // indirect
|
||||
golang.org/x/sync v0.15.0 // indirect
|
||||
golang.org/x/sys v0.33.0 // indirect
|
||||
golang.org/x/text v0.26.0 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
|
||||
29
go.sum
29
go.sum
@ -6,36 +6,22 @@ github.com/a-h/templ v0.3.898 h1:g9oxL/dmM6tvwRe2egJS8hBDQTncokbMoOFk1oJMX7s=
|
||||
github.com/a-h/templ v0.3.898/go.mod h1:oLBbZVQ6//Q6zpvSMPTuBK0F3qOtBdFBcGRspcT+VNQ=
|
||||
github.com/alexedwards/scs/v2 v2.8.0 h1:h31yUYoycPuL0zt14c0gd+oqxfRwIj6SOjHdKRZxhEw=
|
||||
github.com/alexedwards/scs/v2 v2.8.0/go.mod h1:ToaROZxyKukJKT/xLcVQAChi5k6+Pn1Gvmdl7h3RRj8=
|
||||
github.com/allegro/bigcache/v3 v3.1.0 h1:H2Vp8VOvxcrB91o86fUSVJFqeuz8kpyyB02eH3bSzwk=
|
||||
github.com/allegro/bigcache/v3 v3.1.0/go.mod h1:aPyh7jEvrog9zAwx5N7+JUQX5dZTSGpxF1LAR4dr35I=
|
||||
github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
|
||||
github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
|
||||
github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=
|
||||
github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c=
|
||||
github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA=
|
||||
github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0=
|
||||
github.com/bytedance/sonic v1.13.3 h1:MS8gmaH16Gtirygw7jV91pDCN33NyMrPbN7qiYhEsF0=
|
||||
github.com/bytedance/sonic v1.13.3/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4=
|
||||
github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU=
|
||||
github.com/bytedance/sonic/loader v0.2.4 h1:ZWCw4stuXUsn1/+zQDqeE7JKP+QO47tz7QCNan80NzY=
|
||||
github.com/bytedance/sonic/loader v0.2.4/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI=
|
||||
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
|
||||
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
|
||||
github.com/cloudwego/base64x v0.1.5 h1:XPciSp1xaq2VCSt6lF0phncD4koWyULpl5bUxbfCyP4=
|
||||
github.com/cloudwego/base64x v0.1.5/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w=
|
||||
github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/dgraph-io/ristretto v0.2.0 h1:XAfl+7cmoUDWW/2Lx8TGZQjjxIQ2Ley9DSf52dru4WE=
|
||||
github.com/dgraph-io/ristretto v0.2.0/go.mod h1:8uBHCU/PBV4Ag0CJrP47b9Ofby5dqWNh4FicAdoqFNU=
|
||||
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
|
||||
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
|
||||
github.com/drhin/logger v0.0.0-20250417021954-aa33afe047bc h1:/vyhHw4e3eNwpEEJ80m889cVcLV7g+AiTVKzRgCl6As=
|
||||
github.com/drhin/logger v0.0.0-20250417021954-aa33afe047bc/go.mod h1:QUg+qnn7zvYONlsRRGWVKI4zArm4vZN2e5JFTydJICM=
|
||||
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
|
||||
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
|
||||
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
|
||||
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
||||
github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=
|
||||
@ -97,9 +83,6 @@ github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7
|
||||
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
||||
github.com/justinas/nosurf v1.1.1 h1:92Aw44hjSK4MxJeMSyDa7jwuI9GR2J/JCQiaKvXXSlk=
|
||||
github.com/justinas/nosurf v1.1.1/go.mod h1:ALpWdSbuNGy2lZWtyXdjkYv4edL23oSEgfBT1gPJ5BQ=
|
||||
github.com/klauspost/cpuid/v2 v2.0.9 h1:lgaqFMSdTdQYdZ04uHyN2d/eKdOMyi2YLSvlQIBFYa4=
|
||||
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
|
||||
github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M=
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
@ -124,8 +107,6 @@ github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaR
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
|
||||
github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4=
|
||||
github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/redis/go-redis/v9 v9.8.0 h1:q3nRvjrlge/6UD7eTu/DSg2uYiU2mCL0G/uzBWqhicI=
|
||||
@ -152,13 +133,8 @@ github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An
|
||||
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
|
||||
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
|
||||
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
|
||||
@ -169,8 +145,6 @@ github.com/tdewolff/parse v2.3.4+incompatible h1:x05/cnGwIMf4ceLuDMBOdQ1qGniMoxp
|
||||
github.com/tdewolff/parse v2.3.4+incompatible/go.mod h1:8oBwCsVmUkgHO8M5iCzSIDtpzXOT0WXX9cWhz+bIzJQ=
|
||||
github.com/tdewolff/test v1.0.11 h1:FdLbwQVHxqG16SlkGveC0JVyrJN62COWTRyUFzfbtBE=
|
||||
github.com/tdewolff/test v1.0.11/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8=
|
||||
github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
|
||||
github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
|
||||
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||
github.com/zhang2092/browser v0.0.2 h1:4jyWWkSCabGxqn74lCDvNnA4o9TlmsUXuwQHPZFsflQ=
|
||||
github.com/zhang2092/browser v0.0.2/go.mod h1:k/HIdVgWmpi9WvGuIU8pu8aK4rMCI4vr0ICCsk5H8T8=
|
||||
@ -180,8 +154,6 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
|
||||
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
|
||||
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
|
||||
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
|
||||
golang.org/x/arch v0.0.0-20210923205945-b76863e36670 h1:18EFjUmQOcUvxNYSkA6jO9VAiXCnxFY6NyDX0bHDmkU=
|
||||
golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
|
||||
@ -282,4 +254,3 @@ gorm.io/driver/sqlserver v1.5.4 h1:xA+Y1KDNspv79q43bPyjDMUgHoYHLhXYmdFcYPobg8g=
|
||||
gorm.io/driver/sqlserver v1.5.4/go.mod h1:+frZ/qYmuna11zHPlh5oc2O6ZA/lS88Keb0XSH1Zh/g=
|
||||
gorm.io/gorm v1.30.0 h1:qbT5aPv1UH8gI99OsRlvDToLxW5zR7FzS9acZDOZcgs=
|
||||
gorm.io/gorm v1.30.0/go.mod h1:8Z33v652h4//uMA76KjeDH8mJXPm1QNCYrMeatR0DOE=
|
||||
nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50=
|
||||
|
||||
@ -1,21 +1,14 @@
|
||||
package erpserver
|
||||
|
||||
import (
|
||||
"management/internal/erpserver/model/system"
|
||||
"management/internal/erpserver/repository/seed"
|
||||
v1 "management/internal/erpserver/service/v1"
|
||||
|
||||
"github.com/go-chi/chi/v5"
|
||||
)
|
||||
|
||||
type App struct {
|
||||
UserRepo system.UserRepository
|
||||
RoleRepo system.RoleRepository
|
||||
MenuRepo system.MenuRepository
|
||||
RoleMenuRepo system.RoleMenuRepository
|
||||
DepartmentRepo system.DepartmentRepository
|
||||
ConfigRepo system.ConfigRepository
|
||||
LoginLogRepo system.LoginLogRepository
|
||||
AuditLogRepo system.AuditLogRepository
|
||||
Seed *seed.Seed
|
||||
|
||||
AuditLogService v1.AuditLogService
|
||||
|
||||
@ -23,28 +16,14 @@ type App struct {
|
||||
}
|
||||
|
||||
func NewApp(
|
||||
UserRepo system.UserRepository,
|
||||
RoleRepo system.RoleRepository,
|
||||
MenuRepo system.MenuRepository,
|
||||
RoleMenuRepo system.RoleMenuRepository,
|
||||
DepartmentRepo system.DepartmentRepository,
|
||||
ConfigRepo system.ConfigRepository,
|
||||
LoginLogRepo system.LoginLogRepository,
|
||||
AuditLogRepo system.AuditLogRepository,
|
||||
Seed *seed.Seed,
|
||||
|
||||
AuditLogService v1.AuditLogService,
|
||||
|
||||
Router *chi.Mux,
|
||||
) App {
|
||||
return App{
|
||||
UserRepo: UserRepo,
|
||||
RoleRepo: RoleRepo,
|
||||
MenuRepo: MenuRepo,
|
||||
RoleMenuRepo: RoleMenuRepo,
|
||||
DepartmentRepo: DepartmentRepo,
|
||||
ConfigRepo: ConfigRepo,
|
||||
LoginLogRepo: LoginLogRepo,
|
||||
AuditLogRepo: AuditLogRepo,
|
||||
Seed: Seed,
|
||||
|
||||
AuditLogService: AuditLogService,
|
||||
|
||||
|
||||
@ -2,43 +2,63 @@ package seed
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"management/internal/erpserver/model/system"
|
||||
)
|
||||
|
||||
func Init(
|
||||
type Seed struct {
|
||||
configRepository system.ConfigRepository
|
||||
departmentRepository system.DepartmentRepository
|
||||
roleRepository system.RoleRepository
|
||||
userRepository system.UserRepository
|
||||
menuRepository system.MenuRepository
|
||||
}
|
||||
|
||||
func NewSeed(
|
||||
configRepository system.ConfigRepository,
|
||||
departmentRepository system.DepartmentRepository,
|
||||
roleRepository system.RoleRepository,
|
||||
userRepository system.UserRepository,
|
||||
menuRepository system.MenuRepository,
|
||||
) error {
|
||||
ctx := context.Background()
|
||||
) *Seed {
|
||||
return &Seed{
|
||||
configRepository: configRepository,
|
||||
departmentRepository: departmentRepository,
|
||||
roleRepository: roleRepository,
|
||||
userRepository: userRepository,
|
||||
menuRepository: menuRepository,
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Seed) Run() error {
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
||||
defer cancel()
|
||||
|
||||
// 后台pear配置
|
||||
if err := configRepository.Initialize(ctx); err != nil {
|
||||
if err := s.configRepository.Initialize(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 部门
|
||||
err := departmentRepository.Initialize(ctx)
|
||||
err := s.departmentRepository.Initialize(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 角色
|
||||
role, err := roleRepository.Initialize(ctx)
|
||||
role, err := s.roleRepository.Initialize(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 用户
|
||||
if err := userRepository.Initialize(ctx, 0, role.ID); err != nil {
|
||||
if err := s.userRepository.Initialize(ctx, 0, role.ID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 菜单
|
||||
if err = menuRepository.Initialize(ctx); err != nil {
|
||||
if err = s.menuRepository.Initialize(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@ -8,6 +8,7 @@ import (
|
||||
commonHandler "management/internal/erpserver/handler/common"
|
||||
systemHandler "management/internal/erpserver/handler/system"
|
||||
"management/internal/erpserver/repository"
|
||||
"management/internal/erpserver/repository/seed"
|
||||
systemRepo "management/internal/erpserver/repository/system"
|
||||
"management/internal/erpserver/service/v1"
|
||||
commonService "management/internal/erpserver/service/v1/common"
|
||||
@ -33,6 +34,7 @@ var repositorySet = wire.NewSet(
|
||||
systemRepo.NewRoleMenuRepository,
|
||||
systemRepo.NewDepartmentRepository,
|
||||
systemRepo.NewConfigRepository,
|
||||
seed.NewSeed,
|
||||
)
|
||||
|
||||
var serviceSet = wire.NewSet(
|
||||
|
||||
@ -13,6 +13,7 @@ import (
|
||||
common2 "management/internal/erpserver/handler/common"
|
||||
system3 "management/internal/erpserver/handler/system"
|
||||
"management/internal/erpserver/repository"
|
||||
"management/internal/erpserver/repository/seed"
|
||||
"management/internal/erpserver/repository/system"
|
||||
"management/internal/erpserver/service/v1"
|
||||
"management/internal/erpserver/service/v1/common"
|
||||
@ -31,14 +32,12 @@ func NewWire(configConfig *config.Config, loggerLogger *logger.Logger) (App, fun
|
||||
return App{}, nil, err
|
||||
}
|
||||
repositoryRepository := repository.NewRepository(db, loggerLogger)
|
||||
userRepository := system.NewUserRepository(repositoryRepository)
|
||||
roleRepository := system.NewRoleRepository(repositoryRepository)
|
||||
menuRepository := system.NewMenuRepository(repositoryRepository)
|
||||
roleMenuRepository := system.NewRoleMenuRepository(repositoryRepository)
|
||||
departmentRepository := system.NewDepartmentRepository(repositoryRepository)
|
||||
configRepository := system.NewConfigRepository(repositoryRepository)
|
||||
loginLogRepository := system.NewLoginLogRepository(repositoryRepository)
|
||||
auditLogRepository := system.NewAuditLogRepository(repositoryRepository)
|
||||
departmentRepository := system.NewDepartmentRepository(repositoryRepository)
|
||||
roleRepository := system.NewRoleRepository(repositoryRepository)
|
||||
userRepository := system.NewUserRepository(repositoryRepository)
|
||||
menuRepository := system.NewMenuRepository(repositoryRepository)
|
||||
seedSeed := seed.NewSeed(configRepository, departmentRepository, roleRepository, userRepository, menuRepository)
|
||||
transaction := repository.NewTransaction(repositoryRepository)
|
||||
client, cleanup2, err := cache.ConnectRedis(configConfig, loggerLogger)
|
||||
if err != nil {
|
||||
@ -53,8 +52,10 @@ func NewWire(configConfig *config.Config, loggerLogger *logger.Logger) (App, fun
|
||||
}
|
||||
cacheCache := cache.NewRedisCache(client)
|
||||
service := v1.NewService(loggerLogger, transaction, manager, cacheCache)
|
||||
auditLogRepository := system.NewAuditLogRepository(repositoryRepository)
|
||||
auditLogService := system2.NewAuditLogService(service, auditLogRepository)
|
||||
roleService := system2.NewRoleService(service, roleRepository)
|
||||
roleMenuRepository := system.NewRoleMenuRepository(repositoryRepository)
|
||||
roleMenuService := system2.NewRoleMenuService(service, roleMenuRepository)
|
||||
menuService := system2.NewMenuService(service, menuRepository, roleService, roleMenuService)
|
||||
renderRender, err := render.New(manager, menuService)
|
||||
@ -69,6 +70,7 @@ func NewWire(configConfig *config.Config, loggerLogger *logger.Logger) (App, fun
|
||||
uploadHandler := common2.NewUploadHandler(handlerHandler)
|
||||
configService := system2.NewConfigService(service, configRepository)
|
||||
configHandler := system3.NewConfigHandler(handlerHandler, configService)
|
||||
loginLogRepository := system.NewLoginLogRepository(repositoryRepository)
|
||||
loginLogService := system2.NewLoginLogService(service, loginLogRepository)
|
||||
userService := system2.NewUserService(service, userRepository, roleService, loginLogService)
|
||||
homeHandler := system3.NewHomeHandler(handlerHandler, userService, loginLogService)
|
||||
@ -80,7 +82,7 @@ func NewWire(configConfig *config.Config, loggerLogger *logger.Logger) (App, fun
|
||||
roleHandler := system3.NewRoleHandler(handlerHandler, roleService, menuService)
|
||||
departmentHandler := system3.NewDepartmentHandler(handlerHandler, departmentService)
|
||||
mux := NewHTTPServer(manager, loggerLogger, menuService, auditLogService, captchaHandler, uploadHandler, configHandler, homeHandler, userHandler, loginLogHandler, auditHandler, menuHandler, roleHandler, departmentHandler)
|
||||
app := NewApp(userRepository, roleRepository, menuRepository, roleMenuRepository, departmentRepository, configRepository, loginLogRepository, auditLogRepository, auditLogService, mux)
|
||||
app := NewApp(seedSeed, auditLogService, mux)
|
||||
return app, func() {
|
||||
cleanup2()
|
||||
cleanup()
|
||||
@ -89,7 +91,7 @@ func NewWire(configConfig *config.Config, loggerLogger *logger.Logger) (App, fun
|
||||
|
||||
// wire.go:
|
||||
|
||||
var repositorySet = wire.NewSet(repository.NewDB, repository.NewRepository, repository.NewTransaction, system.NewUserRepository, system.NewLoginLogRepository, system.NewAuditLogRepository, system.NewRoleRepository, system.NewMenuRepository, system.NewRoleMenuRepository, system.NewDepartmentRepository, system.NewConfigRepository)
|
||||
var repositorySet = wire.NewSet(repository.NewDB, repository.NewRepository, repository.NewTransaction, system.NewUserRepository, system.NewLoginLogRepository, system.NewAuditLogRepository, system.NewRoleRepository, system.NewMenuRepository, system.NewRoleMenuRepository, system.NewDepartmentRepository, system.NewConfigRepository, seed.NewSeed)
|
||||
|
||||
var serviceSet = wire.NewSet(v1.NewService, common.NewCaptchaService, system2.NewUserService, system2.NewLoginLogService, system2.NewAuditLogService, system2.NewRoleService, system2.NewMenuService, system2.NewRoleMenuService, system2.NewDepartmentService, system2.NewConfigService)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user