fix 适配达梦数据库,修复细节
This commit is contained in:
parent
3503878cd4
commit
128990b3e2
30
go.mod
30
go.mod
@ -10,10 +10,10 @@ require (
|
||||
github.com/apache/rocketmq-client-go/v2 v2.1.1
|
||||
github.com/asaskevich/EventBus v0.0.0-20200907212545-49d423059eef
|
||||
github.com/casbin/casbin/v2 v2.42.0
|
||||
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.8.0
|
||||
github.com/gogf/gf/contrib/drivers/pgsql/v2 v2.8.0
|
||||
github.com/gogf/gf/contrib/nosql/redis/v2 v2.8.0
|
||||
github.com/gogf/gf/v2 v2.8.0
|
||||
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.8.3
|
||||
github.com/gogf/gf/contrib/drivers/pgsql/v2 v2.8.3
|
||||
github.com/gogf/gf/contrib/nosql/redis/v2 v2.8.3
|
||||
github.com/gogf/gf/v2 v2.8.3
|
||||
github.com/gorilla/websocket v1.5.3
|
||||
github.com/mojocn/base64Captcha v1.3.6
|
||||
github.com/mssola/user_agent v0.5.3
|
||||
@ -22,11 +22,11 @@ require (
|
||||
github.com/shirou/gopsutil/v3 v3.23.2
|
||||
github.com/sony/sonyflake v1.2.0
|
||||
github.com/tencentyun/cos-go-sdk-v5 v0.7.34
|
||||
github.com/tiger1103/gfast-cache v1.0.8
|
||||
github.com/tiger1103/gfast-token v1.0.8
|
||||
github.com/tiger1103/gfast-cache v1.0.9
|
||||
github.com/tiger1103/gfast-token v1.0.9
|
||||
github.com/wenlng/go-captcha v1.2.5
|
||||
github.com/xuri/excelize/v2 v2.7.1
|
||||
golang.org/x/net v0.28.0
|
||||
golang.org/x/net v0.32.0
|
||||
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d
|
||||
)
|
||||
|
||||
@ -43,7 +43,7 @@ require (
|
||||
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
||||
github.com/dustin/go-humanize v1.0.0 // indirect
|
||||
github.com/emirpasic/gods v1.18.1 // indirect
|
||||
github.com/fatih/color v1.17.0 // indirect
|
||||
github.com/fatih/color v1.18.0 // indirect
|
||||
github.com/fsnotify/fsnotify v1.7.0 // indirect
|
||||
github.com/go-logr/logr v1.4.2 // indirect
|
||||
github.com/go-logr/stdr v1.2.2 // indirect
|
||||
@ -66,7 +66,7 @@ require (
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1 // indirect
|
||||
github.com/lib/pq v1.10.9 // indirect
|
||||
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
|
||||
github.com/magiconair/properties v1.8.7 // indirect
|
||||
github.com/magiconair/properties v1.8.9 // indirect
|
||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.16 // indirect
|
||||
@ -79,7 +79,7 @@ require (
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
|
||||
github.com/redis/go-redis/v9 v9.6.1 // indirect
|
||||
github.com/redis/go-redis/v9 v9.7.0 // indirect
|
||||
github.com/richardlehane/mscfb v1.0.4 // indirect
|
||||
github.com/richardlehane/msoleps v1.0.3 // indirect
|
||||
github.com/rivo/uniseg v0.4.7 // indirect
|
||||
@ -102,13 +102,13 @@ require (
|
||||
go.uber.org/atomic v1.11.0 // indirect
|
||||
go.uber.org/multierr v1.11.0 // indirect
|
||||
go.uber.org/zap v1.27.0 // indirect
|
||||
golang.org/x/crypto v0.27.0 // indirect
|
||||
golang.org/x/crypto v0.30.0 // indirect
|
||||
golang.org/x/image v0.16.0 // indirect
|
||||
golang.org/x/mod v0.17.0 // indirect
|
||||
golang.org/x/sync v0.8.0 // indirect
|
||||
golang.org/x/sys v0.25.0 // indirect
|
||||
golang.org/x/term v0.24.0 // indirect
|
||||
golang.org/x/text v0.18.0 // indirect
|
||||
golang.org/x/sync v0.10.0 // indirect
|
||||
golang.org/x/sys v0.28.0 // indirect
|
||||
golang.org/x/term v0.27.0 // indirect
|
||||
golang.org/x/text v0.21.0 // indirect
|
||||
golang.org/x/time v0.3.0 // indirect
|
||||
google.golang.org/protobuf v1.33.0 // indirect
|
||||
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
|
||||
|
60
go.sum
60
go.sum
@ -49,8 +49,8 @@ github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25Kn
|
||||
github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
|
||||
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
|
||||
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
|
||||
github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4=
|
||||
github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI=
|
||||
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
|
||||
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
|
||||
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
|
||||
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
|
||||
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
|
||||
@ -69,14 +69,14 @@ github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl
|
||||
github.com/go-playground/validator/v10 v10.8.0/go.mod h1:9JhgTzTaE31GZDpH/HSvHiRJrJ3iKAgqqH0Bl/Ocjdk=
|
||||
github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y=
|
||||
github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
|
||||
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.8.0 h1:Foyx+sGaHAfLXxbTc4xULyO+jaPmQO7puq2rius0pIQ=
|
||||
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.8.0/go.mod h1:JuRwELQEatN+KrcumDhSd5nEysyD8Dh3voXjjuKs+Gk=
|
||||
github.com/gogf/gf/contrib/drivers/pgsql/v2 v2.8.0 h1:4BVMHFtMGc+l0T+QjDFQsc09fIX4qf0zPWKsb+wxVpI=
|
||||
github.com/gogf/gf/contrib/drivers/pgsql/v2 v2.8.0/go.mod h1:nZ5VGwXMT4GRow6IK/1VVcPArQtukcF+49kNOwvZT98=
|
||||
github.com/gogf/gf/contrib/nosql/redis/v2 v2.8.0 h1:12l4LDn/ENMwG//tl6ICXfrAY+9vRy4kzi23H1MSkCI=
|
||||
github.com/gogf/gf/contrib/nosql/redis/v2 v2.8.0/go.mod h1:8Jp8s33CX4yPajGv5NVUlYHPi5Pru81HUKQv+ccS4/o=
|
||||
github.com/gogf/gf/v2 v2.8.0 h1:CgNDoLFQCBxQaWOoGMzgU068T+tm0t/eNUgLV2wPJag=
|
||||
github.com/gogf/gf/v2 v2.8.0/go.mod h1:6iYuZZ+A0ZcH8+4MDS/P0SvTPCvKzRvyAsY1kbkJYJc=
|
||||
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.8.3 h1:RtoBg5HWACFrgIrFkpzH94kxSd5EWefNAq5k6olNY6c=
|
||||
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.8.3/go.mod h1:elZjckHRCejwml5Kdx2zfhOUDiAV3r5i4BgXcKAeH00=
|
||||
github.com/gogf/gf/contrib/drivers/pgsql/v2 v2.8.3 h1:DvpoiVac1cwGVDTqC6wzFbDb+gXNzcceRgZUIcuTmaI=
|
||||
github.com/gogf/gf/contrib/drivers/pgsql/v2 v2.8.3/go.mod h1:zugvYVb6c/X9rJ8Gb6b5WkMe+bFz2BsxQ5OLf4RSZos=
|
||||
github.com/gogf/gf/contrib/nosql/redis/v2 v2.8.3 h1:SpstyaADpaJmTgv55Teb8i7mpQrKH9IMzL0TwnhGcHI=
|
||||
github.com/gogf/gf/contrib/nosql/redis/v2 v2.8.3/go.mod h1:kPSHCSoDQZNKcJ/ZlLd/c1sGKR+0BJRa5nCP3YkSteo=
|
||||
github.com/gogf/gf/v2 v2.8.3 h1:h9Px3lqJnnH6It0AqHRz4/1hx0JmvaSf1IvUir5x1rA=
|
||||
github.com/gogf/gf/v2 v2.8.3/go.mod h1:n++xPYGUUMadw6IygLEgGZqc6y6DRLrJKg5kqCrPLWY=
|
||||
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
||||
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||
github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE=
|
||||
@ -143,8 +143,8 @@ github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
|
||||
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
||||
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4=
|
||||
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
|
||||
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
|
||||
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
|
||||
github.com/magiconair/properties v1.8.9 h1:nWcCbLq1N2v/cpNsy5WvQ37Fb+YElfq20WJ/a8RkpQM=
|
||||
github.com/magiconair/properties v1.8.9/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
|
||||
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
||||
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
|
||||
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||
@ -185,8 +185,8 @@ github.com/qiniu/dyn v1.3.0/go.mod h1:E8oERcm8TtwJiZvkQPbcAh0RL8jO1G0VXJMW3FAWdk
|
||||
github.com/qiniu/go-sdk/v7 v7.13.0 h1:0bWRh/oAC2cArUILZLuWN+s9hPep1JYch5sA2Mfxq7A=
|
||||
github.com/qiniu/go-sdk/v7 v7.13.0/go.mod h1:btsaOc8CA3hdVloULfFdDgDc+g4f3TDZEFsDY0BLE+w=
|
||||
github.com/qiniu/x v1.10.5/go.mod h1:03Ni9tj+N2h2aKnAz+6N0Xfl8FwMEDRC2PAlxekASDs=
|
||||
github.com/redis/go-redis/v9 v9.6.1 h1:HHDteefn6ZkTtY5fGUE8tj8uy85AHk6zP7CpzIAM0y4=
|
||||
github.com/redis/go-redis/v9 v9.6.1/go.mod h1:0C0c6ycQsdpVNQpxb1njEQIqkx5UcsM8FJCQLgE9+RA=
|
||||
github.com/redis/go-redis/v9 v9.7.0 h1:HhLSs+B6O021gwzl+locl0zEDnyNkxMtf/Z3NNBMa9E=
|
||||
github.com/redis/go-redis/v9 v9.7.0/go.mod h1:f6zhXITC7JUJIlPEiBOTXxJgPLdZcA93GewI7inzyWw=
|
||||
github.com/richardlehane/mscfb v1.0.4 h1:WULscsljNPConisD5hR0+OyZjwK46Pfyr6mPu5ZawpM=
|
||||
github.com/richardlehane/mscfb v1.0.4/go.mod h1:YzVpcZg9czvAuhk9T+a3avCpcFPMUWm7gK3DypaEsUk=
|
||||
github.com/richardlehane/msoleps v1.0.1/go.mod h1:BWev5JBpU9Ko2WAgmZEuiz4/u3ZYTKbjLycmwiWUfWg=
|
||||
@ -235,10 +235,10 @@ github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA=
|
||||
github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM=
|
||||
github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs=
|
||||
github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
|
||||
github.com/tiger1103/gfast-cache v1.0.8 h1:RK8VM3mS+H/D2uvhgNJnHtU2E7RuIlwW0yKvBQzuaHg=
|
||||
github.com/tiger1103/gfast-cache v1.0.8/go.mod h1:SNNHfEexumeIXSKz7f/ais+Fi97+TeJvT3r92MqlNk0=
|
||||
github.com/tiger1103/gfast-token v1.0.8 h1:hRNoGna8ji2lPZjMnpaJgZxh2EP3oAVFUSxEaMy79dY=
|
||||
github.com/tiger1103/gfast-token v1.0.8/go.mod h1:gHgyf+25+tt4AbfrAtC+EM/SgM55wgPkLQiksLP/5+4=
|
||||
github.com/tiger1103/gfast-cache v1.0.9 h1:U5sa6z6httumNXQe2v/qTvIUfGZCfzVeN6ASxCjm+WU=
|
||||
github.com/tiger1103/gfast-cache v1.0.9/go.mod h1:SNNHfEexumeIXSKz7f/ais+Fi97+TeJvT3r92MqlNk0=
|
||||
github.com/tiger1103/gfast-token v1.0.9 h1:lyV2PBft/Fqpf4xpsUHf6J7sCUwjSfDk9VCs17LnQkQ=
|
||||
github.com/tiger1103/gfast-token v1.0.9/go.mod h1:b7XPhIPODqMzX9sYIPs6MZnL1kCBUCXlPt8gRf49xEE=
|
||||
github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM=
|
||||
github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI=
|
||||
github.com/tklauser/numcpus v0.6.0 h1:kebhY2Qt+3U6RNK7UqpYNA+tJ23IBEGKkB7JQBfDYms=
|
||||
@ -284,8 +284,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh
|
||||
golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE=
|
||||
golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
|
||||
golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
|
||||
golang.org/x/crypto v0.30.0 h1:RwoQn3GkWiMkzlX562cLB7OxWvjH1L8xutO2WoJcRoY=
|
||||
golang.org/x/crypto v0.30.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM=
|
||||
golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4=
|
||||
@ -314,8 +314,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
|
||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||
golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
|
||||
golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE=
|
||||
golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg=
|
||||
golang.org/x/net v0.32.0 h1:ZqPmj8Kzc+Y6e0+skZsuACbx+wzMgo5MQsJh9Qd6aYI=
|
||||
golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
@ -326,8 +326,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ
|
||||
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
|
||||
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
|
||||
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
@ -348,14 +348,14 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
|
||||
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
|
||||
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
||||
golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
|
||||
golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
|
||||
golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
|
||||
golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q=
|
||||
golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
@ -364,8 +364,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||
golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
|
||||
golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
|
||||
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
|
||||
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
|
||||
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
|
||||
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
|
@ -66,14 +66,14 @@ func (s *sSysDictData) GetDictWithDataByType(ctx context.Context, dictType, defa
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
//设置给定的默认值
|
||||
for _, v := range dict.Values {
|
||||
if defaultValue != "" {
|
||||
if gstr.Equal(defaultValue, v.DictValue) {
|
||||
v.IsDefault = 1
|
||||
} else {
|
||||
v.IsDefault = 0
|
||||
//设置给定的默认值
|
||||
for _, v := range dict.Values {
|
||||
if defaultValue != "" {
|
||||
if gstr.Equal(defaultValue, v.DictValue) {
|
||||
v.IsDefault = 1
|
||||
} else {
|
||||
v.IsDefault = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ func (s *sSysNotice) List(ctx context.Context, req *model.SysNoticeSearchReq) (l
|
||||
var res []*model.SysNoticeListRes
|
||||
|
||||
err = m.Page(req.PageNum, req.PageSize).Fields("" +
|
||||
"n.*," +
|
||||
"n.id,n.title,n.type,n.tag,n.remark,n.sort,n.status,n.created_by,n.created_at," +
|
||||
"SUM(nr.clicks) as clickNumber" +
|
||||
//"(nr.user_id=" + strconv.FormatUint(currentUserId, 10) + ") as isRead" +
|
||||
"").Order(order).Group("n.id").Scan(&res)
|
||||
@ -117,7 +117,9 @@ func (s *sSysNotice) ListShow(ctx context.Context, req *model.SysNoticeSearchReq
|
||||
m = m.Where("n."+dao.SysNotice.Columns().Type+" = ?", gconv.Int64(req.Type))
|
||||
if gconv.Int(req.Type) == consts.SysLetterType {
|
||||
if service.ToolsGenTable().IsMysql() {
|
||||
m = m.Where(fmt.Sprintf("JSON_CONTAINS(n.receiver,'%d')", currentUserId))
|
||||
m = m.Where("JSON_CONTAINS(n.receiver,?)", currentUserId)
|
||||
} else if service.ToolsGenTable().IsDM() {
|
||||
m = m.Where("INSTR(n.receiver,?)>?", currentUserId, 0)
|
||||
} else {
|
||||
m = m.Where(fmt.Sprintf("receiver::jsonb @> '%d'::jsonb", currentUserId))
|
||||
}
|
||||
@ -146,8 +148,7 @@ func (s *sSysNotice) ListShow(ctx context.Context, req *model.SysNoticeSearchReq
|
||||
order = req.OrderBy
|
||||
}
|
||||
var res []*model.SysNoticeListRes
|
||||
err = m.Page(req.PageNum, req.PageSize).Fields("" +
|
||||
"n.*,nr.id IS NOT NULL as isRead").Order(order).Scan(&res)
|
||||
err = m.Page(req.PageNum, req.PageSize).Fields("n.*,CASE WHEN nr.id IS NOT NULL THEN 1 ELSE 0 END AS isRead").Order(order).Scan(&res)
|
||||
liberr.ErrIsNil(ctx, err, "获取数据失败")
|
||||
if req.IsTrim {
|
||||
for k, v := range res {
|
||||
@ -238,7 +239,7 @@ func (s *sSysNotice) Add(ctx context.Context, req *model.SysNoticeAddReq) (err e
|
||||
Tag: req.Tag,
|
||||
Content: req.Content,
|
||||
Remark: req.Remark,
|
||||
Receiver: req.Receiver,
|
||||
Receiver: gconv.String(req.Receiver),
|
||||
Sort: req.Sort,
|
||||
Status: req.Status,
|
||||
CreatedBy: req.CreatedBy,
|
||||
@ -276,7 +277,7 @@ func (s *sSysNotice) Edit(ctx context.Context, req *model.SysNoticeEditReq) (err
|
||||
Remark: req.Remark,
|
||||
Sort: req.Sort,
|
||||
Status: req.Status,
|
||||
Receiver: req.Receiver,
|
||||
Receiver: gconv.String(req.Receiver),
|
||||
UpdatedBy: req.UpdatedBy,
|
||||
}
|
||||
_, err = dao.SysNotice.Ctx(ctx).WherePri(req.Id).Update(data)
|
||||
|
@ -60,15 +60,20 @@ func (s *sSysRole) GetRoleListSearch(ctx context.Context, req *system.RoleListRe
|
||||
model = model.Where("a."+dao.SysRole.Columns().Id+" in(?) OR a.created_by = ?", roleIds, userId)
|
||||
}
|
||||
model = model.As("a")
|
||||
fields := "a.*, count(u.id) user_cnt"
|
||||
if service.ToolsGenTable().IsMysql() {
|
||||
model = model.LeftJoin("casbin_rule", "b", "b.v1 = a.id ")
|
||||
model = model.LeftJoin("sys_user", "u", "CONCAT('u_',u.id) = b.v0 ")
|
||||
} else if service.ToolsGenTable().IsDM() {
|
||||
fields = "a.id,a.pid,a.status,a.list_order,a.name,a.remark, a.created_at,COUNT(u.id) AS user_cnt"
|
||||
model = model.LeftJoin("casbin_rule", "b", "b.v1 = a.id ")
|
||||
model = model.LeftJoin("sys_user", "u", "('u_' || u.id) = b.v0 ")
|
||||
} else {
|
||||
model = model.LeftJoin("casbin_rule", "b", "b.v1 = cast(a.id AS VARCHAR) ")
|
||||
model = model.LeftJoin("sys_user", "u", "CONCAT('u_',u.id) = b.v0")
|
||||
}
|
||||
model = model.Group("a.id")
|
||||
err = model.Order("list_order asc,id asc").Fields("a.*, count(u.id) user_cnt").Scan(&res.List)
|
||||
err = model.Order("list_order asc,id asc").Fields(fields).Scan(&res.List)
|
||||
liberr.ErrIsNil(ctx, err, "获取数据失败")
|
||||
})
|
||||
return
|
||||
@ -239,7 +244,7 @@ func (s *sSysRole) EditRole(ctx context.Context, req *system.RoleEditReq) (err e
|
||||
ListOrder: req.ListOrder,
|
||||
Name: req.Name,
|
||||
Remark: req.Remark,
|
||||
EffectiveTime: req.EffectiveTimeInfo,
|
||||
EffectiveTime: gconv.String(req.EffectiveTimeInfo),
|
||||
}).Update()
|
||||
liberr.ErrIsNil(ctx, e, "修改角色失败")
|
||||
//过滤ruleIds 把没有权限的过滤掉
|
||||
|
@ -470,7 +470,7 @@ func (s *sSysUser) List(ctx context.Context, req *system.UserSearchReq) (total i
|
||||
}
|
||||
|
||||
if req.RoleId > 0 {
|
||||
m = m.As("a").LeftJoin("casbin_rule", "b", "b.v0 = CONCAT('u_',a.id )")
|
||||
m = m.LeftJoin("casbin_rule", "b", "b.v0 = CONCAT('u_',sys_user.id )")
|
||||
m = m.Where("v1 = ? and SUBSTR(v0,1,2) = 'u_'", req.RoleId)
|
||||
}
|
||||
//判断权限,普通管理只能按数据权限查看
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
package toolsGenTable
|
||||
|
||||
import "C"
|
||||
import (
|
||||
"bufio"
|
||||
"context"
|
||||
@ -29,6 +30,7 @@ import (
|
||||
"github.com/tiger1103/gfast/v3/internal/app/system/consts"
|
||||
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
|
||||
"github.com/tiger1103/gfast/v3/internal/app/system/model"
|
||||
"github.com/tiger1103/gfast/v3/internal/app/system/model/do"
|
||||
"github.com/tiger1103/gfast/v3/internal/app/system/model/entity"
|
||||
"github.com/tiger1103/gfast/v3/internal/app/system/service"
|
||||
"github.com/tiger1103/gfast/v3/library/liberr"
|
||||
@ -85,8 +87,8 @@ func (s *sToolsGenTable) SelectDbTableList(ctx context.Context, req *system.Tool
|
||||
res = new(system.ToolsGenTableSearchRes)
|
||||
db := g.DB()
|
||||
err = g.Try(ctx, func(ctx context.Context) {
|
||||
if !s.IsMysql() && !s.IsPg() {
|
||||
liberr.ErrIsNil(ctx, gerror.New("代码生成暂时只支持mysql及postgresql数据库"))
|
||||
if !s.IsMysql() && !s.IsPg() && !s.IsDM() {
|
||||
liberr.ErrIsNil(ctx, gerror.New("代码生成暂时只支持mysql、postgresql及达梦数据库"))
|
||||
}
|
||||
var sqlStr string
|
||||
if s.IsMysql() {
|
||||
@ -152,6 +154,42 @@ func (s *sToolsGenTable) SelectDbTableList(ctx context.Context, req *system.Tool
|
||||
sqlStr += " order by pg_stat_get_last_analyze_time(pg_class.oid) desc,table_name asc LIMIT " + gconv.String(req.PageSize) + " OFFSET " + gconv.String(page)
|
||||
err = db.GetScan(ctx, &res.List, "select "+sqlStr)
|
||||
liberr.ErrIsNil(ctx, err, "读取数据失败")
|
||||
} else if s.IsDM() {
|
||||
dbName := gstr.ToUpper(g.DB().GetConfig().Name)
|
||||
sqlStr = " FROM ALL_TABLES T " +
|
||||
"LEFT JOIN ALL_TAB_COMMENTS C ON T.OWNER = C.OWNER AND T.TABLE_NAME = C.TABLE_NAME " +
|
||||
"LEFT JOIN DBA_OBJECTS O ON T.OWNER = O.OWNER AND T.TABLE_NAME = O.OBJECT_NAME " +
|
||||
" AND O.OBJECT_TYPE = 'TABLE' "
|
||||
sqlStr += " WHERE T.OWNER = '" + dbName + "'"
|
||||
sqlStr += " AND T.TABLE_NAME NOT LIKE 'TOOLS_GEN_%' " +
|
||||
" AND T.TABLE_NAME NOT IN (SELECT TABLE_NAME FROM TOOLS_GEN_TABLE) "
|
||||
if req != nil {
|
||||
if req.TableName != "" {
|
||||
sqlStr += gdb.FormatSqlWithArgs(" AND T.TABLE_NAME like ?", []interface{}{"%" + req.TableName + "%"})
|
||||
}
|
||||
|
||||
if req.TableComment != "" {
|
||||
sqlStr += gdb.FormatSqlWithArgs(" AND C.COMMENTS like ?", []interface{}{"%" + req.TableComment + "%"})
|
||||
}
|
||||
if len(req.DateRange) > 0 {
|
||||
sqlStr += gdb.FormatSqlWithArgs(" AND O.CREATED >= date_format(?,'%y%m%d') ", []interface{}{req.DateRange[0]})
|
||||
sqlStr += gdb.FormatSqlWithArgs(" AND O.CREATED <= date_format(?,'%y%m%d') ", []interface{}{req.DateRange[1]})
|
||||
}
|
||||
}
|
||||
countSql := "select count(1) " + sqlStr
|
||||
res.Total, err = db.GetCount(ctx, countSql)
|
||||
liberr.ErrIsNil(ctx, err, "读取总表数失败")
|
||||
sqlStr = `T.TABLE_NAME,C.COMMENTS AS TABLE_COMMENT, O.CREATED AS CREATE_TIME, O.LAST_DDL_TIME AS UPDATE_TIME ` + sqlStr
|
||||
if req.PageNum == 0 {
|
||||
req.PageNum = 1
|
||||
}
|
||||
if req.PageSize == 0 {
|
||||
req.PageSize = consts.PageSize
|
||||
}
|
||||
page := (req.PageNum - 1) * req.PageSize
|
||||
sqlStr += " ORDER BY O.CREATED desc,T.TABLE_NAME asc LIMIT " + gconv.String(req.PageSize) + " OFFSET " + gconv.String(page)
|
||||
err = db.GetScan(ctx, &res.List, "SELECT "+sqlStr)
|
||||
liberr.ErrIsNil(ctx, err, "读取数据失败")
|
||||
}
|
||||
})
|
||||
return
|
||||
@ -161,8 +199,8 @@ func (s *sToolsGenTable) SelectDbTableList(ctx context.Context, req *system.Tool
|
||||
func (s *sToolsGenTable) SelectDbTableListByNames(ctx context.Context, tableNames []string) ([]*entity.ToolsGenTable, error) {
|
||||
var result []*entity.ToolsGenTable
|
||||
err := g.Try(ctx, func(ctx context.Context) {
|
||||
if !s.IsMysql() && !s.IsPg() {
|
||||
liberr.ErrIsNil(ctx, gerror.New("代码生成暂时只支持mysql及postgresql数据库"))
|
||||
if !s.IsMysql() && !s.IsPg() && !s.IsDM() {
|
||||
liberr.ErrIsNil(ctx, gerror.New("代码生成暂时只支持mysql、postgresql及达梦数据库"))
|
||||
}
|
||||
db := g.DB()
|
||||
var sqlStr string
|
||||
@ -186,6 +224,22 @@ func (s *sToolsGenTable) SelectDbTableListByNames(ctx context.Context, tableName
|
||||
}
|
||||
err := db.GetScan(ctx, &result, sqlStr)
|
||||
liberr.ErrIsNil(ctx, err, "获取表格信息失败")
|
||||
} else if s.IsDM() {
|
||||
dbName := gstr.ToUpper(g.DB().GetConfig().Name)
|
||||
sqlStr = "SELECT T.TABLE_NAME,C.COMMENTS AS TABLE_COMMENT," +
|
||||
"O.CREATED AS CREATE_TIME," +
|
||||
"O.LAST_DDL_TIME AS UPDATE_TIME " +
|
||||
"FROM ALL_TABLES T LEFT JOIN ALL_TAB_COMMENTS C " +
|
||||
"ON T.OWNER = C.OWNER AND T.TABLE_NAME = C.TABLE_NAME " +
|
||||
"LEFT JOIN DBA_OBJECTS O " +
|
||||
"ON T.OWNER = O.OWNER " +
|
||||
"AND T.TABLE_NAME = O.OBJECT_NAME " +
|
||||
"AND O.OBJECT_TYPE = 'TABLE' " +
|
||||
gdb.FormatSqlWithArgs("WHERE T.OWNER = ? ", []interface{}{dbName}) +
|
||||
gdb.FormatSqlWithArgs("AND T.TABLE_NAME in(?) ", gconv.SliceAny(tableNames)) +
|
||||
"ORDER BY O.CREATED DESC,T.TABLE_NAME ASC"
|
||||
err := db.GetScan(ctx, &result, sqlStr)
|
||||
liberr.ErrIsNil(ctx, err, "获取表格信息失败")
|
||||
}
|
||||
})
|
||||
return result, err
|
||||
@ -206,8 +260,33 @@ func (s *sToolsGenTable) ImportGenTable(ctx context.Context, tableList []*entity
|
||||
}
|
||||
err = s.InitTable(ctx, table, genTableColumns)
|
||||
liberr.ErrIsNil(ctx, err)
|
||||
result, err1 := tx.Model(dao.ToolsGenTable.Table()).FieldsEx("table_id").
|
||||
Insert(table)
|
||||
result, err1 := tx.Model(dao.ToolsGenTable.Table()).
|
||||
Data(do.ToolsGenTable{
|
||||
TableName: table.TableName,
|
||||
TableComment: table.TableComment,
|
||||
ClassName: table.ClassName,
|
||||
TplCategory: table.TplCategory,
|
||||
PackageName: table.PackageName,
|
||||
ModuleName: table.ModuleName,
|
||||
BusinessName: table.BusinessName,
|
||||
FunctionName: table.FunctionName,
|
||||
FunctionAuthor: table.FunctionAuthor,
|
||||
Options: table.Options,
|
||||
CreateTime: table.CreateTime,
|
||||
UpdateTime: table.UpdateTime,
|
||||
Remark: table.Remark,
|
||||
Overwrite: table.Overwrite,
|
||||
SortColumn: table.SortColumn,
|
||||
SortType: table.SortType,
|
||||
ShowDetail: table.ShowDetail,
|
||||
ExcelPort: table.ExcelPort,
|
||||
ExcelImp: table.ExcelImp,
|
||||
UseSnowId: table.UseSnowId,
|
||||
UseVirtual: table.UseVirtual,
|
||||
OverwriteInfo: table.OverwriteInfo,
|
||||
MenuPid: table.MenuPid,
|
||||
}).
|
||||
Insert()
|
||||
liberr.ErrIsNil(ctx, err1)
|
||||
tmpId, err2 := result.LastInsertId()
|
||||
liberr.ErrIsNil(ctx, err2, "保存数据失败")
|
||||
@ -302,6 +381,10 @@ func (s *sToolsGenTable) IsMysql() bool {
|
||||
return s.getDbDriver() == "mysql"
|
||||
}
|
||||
|
||||
func (s *sToolsGenTable) IsDM() bool {
|
||||
return s.getDbDriver() == "dm"
|
||||
}
|
||||
|
||||
// DeleteTable 删除表信息
|
||||
func (s *sToolsGenTable) DeleteTable(ctx context.Context, req *system.ToolsGenTableDeleteReq) error {
|
||||
err := g.DB().Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {
|
||||
@ -485,7 +568,31 @@ func (s *sToolsGenTable) SaveEdit(ctx context.Context, req *system.ToolsGenTable
|
||||
err = g.Try(ctx, func(ctx context.Context) {
|
||||
_, err = tx.Model(dao.ToolsGenTable.Table()).
|
||||
WherePri(table.TableId).
|
||||
Update(table)
|
||||
Update(do.ToolsGenTable{
|
||||
TableName: table.TableName,
|
||||
TableComment: table.TableComment,
|
||||
ClassName: table.ClassName,
|
||||
TplCategory: table.TplCategory,
|
||||
PackageName: table.PackageName,
|
||||
ModuleName: table.ModuleName,
|
||||
BusinessName: table.BusinessName,
|
||||
FunctionName: table.FunctionName,
|
||||
FunctionAuthor: table.FunctionAuthor,
|
||||
Options: table.Options,
|
||||
CreateTime: table.CreateTime,
|
||||
UpdateTime: table.UpdateTime,
|
||||
Remark: table.Remark,
|
||||
Overwrite: table.Overwrite,
|
||||
SortColumn: table.SortColumn,
|
||||
SortType: table.SortType,
|
||||
ShowDetail: table.ShowDetail,
|
||||
ExcelPort: table.ExcelPort,
|
||||
ExcelImp: table.ExcelImp,
|
||||
UseSnowId: table.UseSnowId,
|
||||
UseVirtual: table.UseVirtual,
|
||||
OverwriteInfo: gconv.String(table.OverwriteInfo),
|
||||
MenuPid: table.MenuPid,
|
||||
})
|
||||
liberr.ErrIsNil(ctx, err, "保存表数据失败")
|
||||
//保存列数据
|
||||
if req.Columns != nil {
|
||||
@ -549,6 +656,7 @@ func (s *sToolsGenTable) SaveEdit(ctx context.Context, req *system.ToolsGenTable
|
||||
}
|
||||
_, err = tx.Model(dao.ToolsGenTableColumn.Table()).
|
||||
WherePri(dbColumn.ColumnId).
|
||||
FieldsEx(dao.ToolsGenTableColumn.Columns().ColumnId).
|
||||
Update(dbColumn)
|
||||
liberr.ErrIsNil(ctx, err, "保存列:"+dbColumn.ColumnName+",数据失败")
|
||||
}
|
||||
@ -1419,7 +1527,9 @@ func (s *sToolsGenTable) SyncTable(ctx context.Context, tableId int64) (err erro
|
||||
//字段不存在则添加
|
||||
if !alreadyExists {
|
||||
service.ToolsGenTableColumn().InitColumnField(column, table)
|
||||
_, err = tx.Model(dao.ToolsGenTableColumn.Table()).Insert(column)
|
||||
_, err = tx.Model(dao.ToolsGenTableColumn.Table()).
|
||||
FieldsEx(dao.ToolsGenTableColumn.Columns().ColumnId).
|
||||
Insert(column)
|
||||
liberr.ErrIsNil(ctx, err, fmt.Sprintf("保存列`%s`数据失败", column.ColumnName))
|
||||
}
|
||||
}
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
package toolsGenTableColumn
|
||||
|
||||
import "C"
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
@ -67,15 +68,73 @@ func (s *sToolsGenTableColumn) SelectDbTableColumnsByName(ctx context.Context, t
|
||||
db := g.DB()
|
||||
var sql string
|
||||
if service.ToolsGenTable().IsPg() {
|
||||
sql = " select c.column_name,(case when c.is_nullable='YES' || k.column_name is not null then '1' else '0' end) as is_required," +
|
||||
//pg数据库
|
||||
sql = "select c.column_name,(case when c.is_nullable='YES' || k.column_name is not null then '1' else '0' end) as is_required," +
|
||||
"(case when k.column_name is not null then '1' else '0' end) as is_pk,c.ordinal_position as sort_order_edit,d.description column_comment," +
|
||||
"(case when c.column_default like 'nextval%' then '1' else '0' end) as is_increment,c.udt_name as column_type " +
|
||||
"from information_schema.columns c " +
|
||||
"left join pg_description d on d.objsubid=c.ordinal_position and d.objoid=c.table_name :: regclass " +
|
||||
"left join information_schema.key_column_usage k on c.table_name=k.table_name and c.column_name=k.column_name and c.table_catalog=k.table_catalog and c.table_schema=k.table_schema "
|
||||
sql += "where " + gdb.FormatSqlWithArgs(" c.table_name=? ", []interface{}{tableName}) + " order by c.ordinal_position"
|
||||
} else if service.ToolsGenTable().IsDM() {
|
||||
dbName := g.DB().GetSchema()
|
||||
//达梦数据库
|
||||
sql = "SELECT" +
|
||||
" A.COLUMN_NAME," +
|
||||
" (CASE WHEN A.NULLABLE = 'N' THEN '1' ELSE '0' END) AS IS_REQUIRED," +
|
||||
" (CASE WHEN B.CONSTRAINT_TYPE = 'P' THEN '1' ELSE '0' END) AS IS_PK," +
|
||||
" A.COLUMN_ID AS SORT_ORDER_EDIT," +
|
||||
" C.COMMENTS AS COLUMN_COMMENT," +
|
||||
" (CASE WHEN D.IS_INCREMENT = 1 THEN '1' ELSE '0' END) AS IS_INCREMENT," +
|
||||
" A.DATA_TYPE || '(' || A.DATA_LENGTH || ')' AS COLUMN_TYPE " +
|
||||
" FROM" +
|
||||
" ALL_TAB_COLUMNS A" +
|
||||
" LEFT JOIN (" +
|
||||
" SELECT" +
|
||||
" C.OWNER, " +
|
||||
" C.TABLE_NAME," +
|
||||
" CC.COLUMN_NAME," +
|
||||
" C.CONSTRAINT_TYPE" +
|
||||
" FROM" +
|
||||
" ALL_CONSTRAINTS C" +
|
||||
" JOIN ALL_CONS_COLUMNS CC" +
|
||||
" ON C.OWNER = CC.OWNER " +
|
||||
" AND C.CONSTRAINT_NAME = CC.CONSTRAINT_NAME" +
|
||||
" AND C.TABLE_NAME = CC.TABLE_NAME" +
|
||||
" WHERE" +
|
||||
" C.CONSTRAINT_TYPE = 'P'" +
|
||||
" AND C.OWNER = ? " +
|
||||
") B " +
|
||||
" ON A.OWNER = B.OWNER " +
|
||||
" AND A.TABLE_NAME = B.TABLE_NAME" +
|
||||
" AND A.COLUMN_NAME = B.COLUMN_NAME" +
|
||||
" LEFT JOIN ALL_COL_COMMENTS C" +
|
||||
" ON A.OWNER = C.SCHEMA_NAME " +
|
||||
" AND A.TABLE_NAME = C.TABLE_NAME" +
|
||||
" AND A.COLUMN_NAME = C.COLUMN_NAME" +
|
||||
" LEFT JOIN (" +
|
||||
" SELECT" +
|
||||
" sf_get_schema_name_by_id(st.schid) AS TABLE_OWNER," +
|
||||
" st.name AS TABLE_NAME," +
|
||||
" sco.name AS COLUMN_NAME," +
|
||||
" CASE WHEN bitand(sco.info2, 0x0001) = 1 THEN 1 ELSE 0 END AS IS_INCREMENT" +
|
||||
" FROM" +
|
||||
" syscolumns sco" +
|
||||
" JOIN sysobjects st" +
|
||||
" ON sco.id = st.id" +
|
||||
" AND st.subtype$ = 'UTAB'" +
|
||||
") D " +
|
||||
" ON A.OWNER = D.TABLE_OWNER " +
|
||||
" AND A.TABLE_NAME = D.TABLE_NAME" +
|
||||
" AND A.COLUMN_NAME = D.COLUMN_NAME" +
|
||||
" WHERE" +
|
||||
" A.OWNER = ? " +
|
||||
" AND A.TABLE_NAME = ?" +
|
||||
" ORDER BY" +
|
||||
" A.COLUMN_ID ASC"
|
||||
sql = gdb.FormatSqlWithArgs(sql, []interface{}{dbName, dbName, tableName})
|
||||
} else {
|
||||
sql = " select column_name, (case when (is_nullable = 'YES' || is_nullable = 'NO' && column_default is not null) then '0' else '1' end) as is_required, " +
|
||||
sql = "select column_name, (case when (is_nullable = 'YES' || is_nullable = 'NO' && column_default is not null) then '0' else '1' end) as is_required, " +
|
||||
"(case when column_key = 'PRI' then '1' else '0' end) as is_pk, ordinal_position as sort_order_edit, column_comment," +
|
||||
" (case when extra = 'auto_increment' then '1' else '0' end) as is_increment, column_type from information_schema.columns" +
|
||||
" where table_schema = (select database()) "
|
||||
|
@ -26,14 +26,15 @@ type (
|
||||
DeleteTable(ctx context.Context, req *system.ToolsGenTableDeleteReq) error
|
||||
ColumnList(ctx context.Context, req *system.ToolsGenTableEditReq) (res *system.ToolsGenTableEditRes, err error)
|
||||
GetTableInfoByTableId(ctx context.Context, tableId int64) (data *entity.ToolsGenTable, err error)
|
||||
GetRelationTable(ctx context.Context,req *system.ToolsGenRelationTableReq) (res *system.ToolsGenRelationTableRes, err error)
|
||||
GetRelationTable(ctx context.Context, req *system.ToolsGenRelationTableReq) (res *system.ToolsGenRelationTableRes, err error)
|
||||
SaveEdit(ctx context.Context, req *system.ToolsGenTableColumnsEditReq) (err error)
|
||||
GenData(ctx context.Context, tableId int64) (data g.MapStrStr, extendData *model.ToolsGenTableEx, err error)
|
||||
SelectRecordById(ctx context.Context, tableId int64) (tableEx *model.ToolsGenTableEx, err error)
|
||||
GenCode(ctx context.Context, ids []int) (err error)
|
||||
SyncTable(ctx context.Context, tableId int64) (err error)
|
||||
IsPg()bool
|
||||
IsMysql()bool
|
||||
IsPg() bool
|
||||
IsMysql() bool
|
||||
IsDM() bool
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -9,5 +9,5 @@ package consts
|
||||
|
||||
const (
|
||||
Logo = `CiAgIF9fX19fX19fX19fXyAgICAgICAgICAgX18gCiAgLyBfX19fLyBfX19fL19fXyBfX19fX18vIC9fCiAvIC8gX18vIC9fICAvIF9fIGAvIF9fXy8gX18vCi8gL18vIC8gX18vIC8gL18vIChfXyAgKSAvXyAgClxfX19fL18vICAgIFxfXyxfL19fX18vXF9fLyAg`
|
||||
Version = "3.3.2"
|
||||
Version = "3.3.3"
|
||||
)
|
||||
|
@ -111,7 +111,7 @@ upload:
|
||||
endPoint: "xxx.xxxx.com" #自定域名
|
||||
bucketName: "xxx" #使用的存储桶
|
||||
isHttps: true #是否开启https访问
|
||||
path:"gfast" #上传文件保存路径
|
||||
path: "gfast" #上传文件保存路径
|
||||
|
||||
# 代码生成配置
|
||||
gen:
|
||||
|
BIN
resource/data/GFAST_DM.dmp
Normal file
BIN
resource/data/GFAST_DM.dmp
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user