mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-24 11:08:09 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5e10b631f6 | ||
|
|
d71ff80e12 | ||
|
|
1b2bf70df1 | ||
|
|
cbdfa61268 | ||
|
|
8a58fb5b3b | ||
|
|
eeaa05f5b4 | ||
|
|
4904c9ed20 | ||
|
|
9a6f93854b | ||
|
|
99699c0065 | ||
|
|
85685dbda1 | ||
|
|
3a4bfe915b | ||
|
|
57067907d3 | ||
|
|
d91ddf265d | ||
|
|
59e8645f56 | ||
|
|
ddc3a1d403 | ||
|
|
816b10681b | ||
|
|
f4e07371c5 | ||
|
|
6a2557064c | ||
|
|
4a592f515a | ||
|
|
9bc2791b26 | ||
|
|
e126fd38bc | ||
|
|
c6d94c03fb | ||
|
|
50a5d6f48d | ||
|
|
508a18a809 | ||
|
|
946a53cb2b | ||
|
|
c6ccd844f5 | ||
|
|
debe808f83 | ||
|
|
e219463505 | ||
|
|
009866ee31 | ||
|
|
13ff9d9e63 | ||
|
|
5957fb280c | ||
|
|
44d196eaef | ||
|
|
bf7934c20a | ||
|
|
845558cc65 | ||
|
|
22250dbbba | ||
|
|
7290742ac0 | ||
|
|
97d9590d05 | ||
|
|
1a111f0666 | ||
|
|
e40047a88e | ||
|
|
3df83cb057 | ||
|
|
cfd284e42e | ||
|
|
f21de0706a | ||
|
|
7abe98b723 | ||
|
|
413ca6d353 | ||
|
|
b69bc87468 | ||
|
|
a1a41f0a86 | ||
|
|
14db1e802c | ||
|
|
221a47423d | ||
|
|
daadb14618 | ||
|
|
40cd55da90 | ||
|
|
eddfe26308 | ||
|
|
e034e5b1ea | ||
|
|
36bdeb3faa | ||
|
|
7112323a5e | ||
|
|
ea4ffb8867 | ||
|
|
225970c005 | ||
|
|
24370899ab | ||
|
|
510bdd94f9 | ||
|
|
2a27c91656 | ||
|
|
3767274755 | ||
|
|
aefdb47c32 | ||
|
|
30feaae7e7 | ||
|
|
8557e1e160 | ||
|
|
dd16744676 | ||
|
|
495a9c54aa | ||
|
|
afab1ef7c9 | ||
|
|
5e99363e9a | ||
|
|
86c7c64a32 | ||
|
|
44b9666302 | ||
|
|
91c9a2c7f9 | ||
|
|
a65930b35b | ||
|
|
9023b620fb | ||
|
|
f188b34253 | ||
|
|
8faf6c9aba | ||
|
|
547a5eb8e4 | ||
|
|
2459c877e0 | ||
|
|
93625a6d9f | ||
|
|
58b439f553 | ||
|
|
78c67185fd |
@@ -0,0 +1,51 @@
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'go' ]
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v1
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
|
||||
#- run: |
|
||||
# make bootstrap
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
@@ -0,0 +1,60 @@
|
||||
name: build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ dev-lwx ]
|
||||
pull_request:
|
||||
branches: [ dev-lwx ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Set up Go 1.15
|
||||
uses: actions/setup-go@v1
|
||||
with:
|
||||
go-version: 1.15
|
||||
id: go
|
||||
|
||||
- name: Check out code into the Go module directory
|
||||
uses: actions/checkout@v2
|
||||
- name: Get dependencies
|
||||
run: |
|
||||
go get -v -t -d ./...
|
||||
if [ -f Gopkg.toml ]; then
|
||||
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
|
||||
dep ensure
|
||||
fi
|
||||
- name: Build
|
||||
run: |
|
||||
CGO_ENABLED=0 GOOS=linux go build -ldflags="-w -s" -a -installsuffix cgo -o go-admin .
|
||||
mv go-admin ./scripts
|
||||
|
||||
- uses: Azure/docker-login@v1
|
||||
with:
|
||||
login-server: registry.cn-shanghai.aliyuncs.com
|
||||
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||
- run: |
|
||||
docker build ./scripts -t registry.cn-shanghai.aliyuncs.com/go-admin-team/go-admin:${{ github.sha }}
|
||||
docker push registry.cn-shanghai.aliyuncs.com/go-admin-team/go-admin:${{ github.sha }}
|
||||
- uses: Azure/k8s-set-context@v1
|
||||
with:
|
||||
kubeconfig: ${{ secrets.KUBE_CONFIG }}
|
||||
|
||||
- uses: Azure/k8s-create-secret@v1
|
||||
with:
|
||||
namespace: 'go-admin'
|
||||
container-registry-url: registry.cn-shanghai.aliyuncs.com
|
||||
container-registry-username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
container-registry-password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||
secret-name: aliyuncs-k8s-secret
|
||||
|
||||
- uses: Azure/k8s-deploy@v1
|
||||
with:
|
||||
namespace: 'go-admin'
|
||||
manifests: 'scripts/k8s/deploy.yml'
|
||||
images: 'registry.cn-shanghai.aliyuncs.com/go-admin-team/go-admin:${{ github.sha }}'
|
||||
imagepullsecrets: 'aliyuncs-k8s-secret'
|
||||
kubectl-version: 'latest'
|
||||
@@ -21,3 +21,4 @@ cmd/migrate/migration/version-local/*
|
||||
|
||||
# go sum
|
||||
go.sum
|
||||
config/settings.deva.yml
|
||||
|
||||
+1
-1
@@ -23,4 +23,4 @@ COPY --from=builder /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||||
|
||||
EXPOSE 8000
|
||||
|
||||
CMD ["/go-admin","server","-c", "/config/settings.yml"]
|
||||
CMD ["/go-admin","server","-c", "/config/settings.yml"]
|
||||
+117
-90
@@ -23,6 +23,10 @@
|
||||
- GORM-based database storage that can expand many types of databases
|
||||
|
||||
- Simple model mapping of configuration files to quickly get the desired configuration
|
||||
|
||||
- Form builder
|
||||
|
||||
- Multi command mode
|
||||
|
||||
- TODO: unit test
|
||||
|
||||
@@ -39,102 +43,90 @@
|
||||
8. Operation log: system normal operation log record and query; system exception information log record and query.
|
||||
9. Login log: The system login log record query contains login exceptions.
|
||||
10. System interface: Automatically generate related api interface documents according to business code.
|
||||
11. Multi command mode code generation: according to the data table structure to generate the corresponding business, all visual programming, basic business can be 0 code.
|
||||
12. Form construction: Customize page style, drag and drop to achieve page layout.
|
||||
13. Service monitoring: view the basic information of some servers.
|
||||
|
||||
## Configuration details
|
||||
## 🗞 System architecture
|
||||
|
||||
1. Configuration file description
|
||||
```yml
|
||||
settings:
|
||||
application:
|
||||
# Project launch environment
|
||||
env: dev
|
||||
# When env: demo, prompts for request operations other than GET
|
||||
envmsg: "谢谢您的参与,但为了大家更好的体验,所以本次提交就算了吧!"
|
||||
# Host IP or domain name, default 0.0.0.0
|
||||
host: 0.0.0.0
|
||||
# Whether to initialize the database structure and basic data; true: required; false: not required
|
||||
isinit: false
|
||||
# JWT encrypted string
|
||||
jwtsecret: 123abc
|
||||
# log storage path
|
||||
logpath: temp/logs/log.log
|
||||
# application name
|
||||
name: go-admin
|
||||
# application port
|
||||
port: 8000
|
||||
readtimeout: 1
|
||||
writertimeout: 2
|
||||
database:
|
||||
# database name
|
||||
database: dbname
|
||||
# database type
|
||||
dbtype: mysql
|
||||
# database host
|
||||
host: 127.0.0.1
|
||||
# database password
|
||||
password: password
|
||||
# database port
|
||||
port: 3306
|
||||
# database username
|
||||
username: root
|
||||
redis:
|
||||
# redis addresss
|
||||
addr: 0.0.0.0:6379
|
||||
# db
|
||||
db: 0
|
||||
# password
|
||||
password: password
|
||||
# read timeout
|
||||
readtimeout: 50
|
||||
```
|
||||
<p align="center">
|
||||
<img src="https://gitee.com/mydearzwj/image/raw/d9f59ea603e3c8a3977491a1bfa8f122e1a80824/img/go-admin-system.png" width="936px" height="491px">
|
||||
</p>
|
||||
|
||||
2. file path go-admin/config/settings.yml
|
||||
## 📦 Local development
|
||||
|
||||
|
||||
## 📦 evelopment
|
||||
|
||||
|
||||
First start instructions
|
||||
### Create development directory
|
||||
|
||||
```bash
|
||||
# Get the code
|
||||
git clone https://github.com/wenjianzhang/go-admin.git
|
||||
mkdir goadmin
|
||||
cd goadmin
|
||||
```
|
||||
|
||||
# Enter working path
|
||||
### Get code
|
||||
|
||||
> Key points: two projects must be placed in the same folder;
|
||||
|
||||
```bash
|
||||
# Get backend code
|
||||
git clone https://github.com/go-admin-team/go-admin.git
|
||||
|
||||
# Get front end code
|
||||
git clone https://github.com/go-admin-team/go-admin-ui.git
|
||||
|
||||
```
|
||||
|
||||
|
||||
### Start up instructions
|
||||
|
||||
#### Server startup instructions
|
||||
|
||||
```bash
|
||||
# Enter the go-admin backend project
|
||||
cd ./go-admin
|
||||
|
||||
# Build the project
|
||||
# Compile project
|
||||
go build
|
||||
|
||||
# Change setting
|
||||
vi ./config/setting.yml (Note: Change isinit and database connection)
|
||||
# Configuration
|
||||
# file path go-admin/config/settings.yml
|
||||
vi ./config/setting.yml
|
||||
|
||||
# 1. Database information in the configuration file
|
||||
# Note: the corresponding configuration data under settings.database
|
||||
# 2. Confirm database initialization parameters
|
||||
# Note: If this is the first time settings.application.isinit is set, please set the current value to true, the system will automatically initialize the database structure and basic data information;
|
||||
# 3. Confirm the log path
|
||||
# 1. Modifying database information in configuration file
|
||||
# settings.database Corresponding configuration data under
|
||||
# 2. Confirm log path
|
||||
```
|
||||
|
||||
#### Initialize the database and start the service
|
||||
```
|
||||
# The first configuration needs to initialize the database resource information
|
||||
./go-admin migrate -c config/settings.yml
|
||||
|
||||
|
||||
# Start the project or debug with the IDE
|
||||
./go-admin
|
||||
# Start the project, you can also debug with IDE
|
||||
./go-admin server -c config/settings.yml
|
||||
|
||||
```
|
||||
|
||||
#### Using docker to compile and start
|
||||
|
||||
```shell
|
||||
# Compile image
|
||||
docker build -t go-admin .
|
||||
|
||||
# Start the container. The first go admin is the container name and the second go admin is the image name
|
||||
docker run --name go-admin -p 8000:8000 -v /config/settings.yml:/config/settings.yml -d go-admin
|
||||
|
||||
# See also instructions in WIKI
|
||||
```
|
||||
|
||||
|
||||
Document generation
|
||||
|
||||
#### Document generation
|
||||
|
||||
```bash
|
||||
swag init
|
||||
go generate
|
||||
```
|
||||
|
||||
If there is no `swag` command go get installed
|
||||
```bash
|
||||
go get -u github.com/swaggo/swag/cmd/swag
|
||||
```
|
||||
|
||||
|
||||
Cross compilation
|
||||
#### Cross compiling
|
||||
```bash
|
||||
env GOOS=windows GOARCH=amd64 go build main.go
|
||||
|
||||
@@ -143,11 +135,56 @@ env GOOS=windows GOARCH=amd64 go build main.go
|
||||
env GOOS=linux GOARCH=amd64 go build main.go
|
||||
```
|
||||
|
||||
### UI interactive terminal startup description
|
||||
|
||||
## 🔗 Online Demo
|
||||
```bash
|
||||
# Installation dependency
|
||||
npm install
|
||||
|
||||
# It is recommended that you do not use cnpm to install dependencies directly. There will be all kinds of weird bugs. The problem of slow download speed of NPM can be solved by the following operations
|
||||
npm install --registry=https://registry.npm.taobao.org
|
||||
|
||||
# Start the service
|
||||
npm run dev
|
||||
```
|
||||
|
||||
## 🎬 Online Demo
|
||||
> admin / 123456
|
||||
|
||||
Demo address:[http://www.zhangwj.com](http://www.zhangwj.com/#/login)
|
||||
Demo:[http://www.go-admin.dev](http://www.go-admin.dev/#/login)
|
||||
|
||||
|
||||
## 📨 Interaction
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="https://raw.githubusercontent.com/wenjianzhang/image/master/img/wx.png" width="180px"></td>
|
||||
<td><img src="https://raw.githubusercontent.com/wenjianzhang/image/master/img/qq.png" width="200px"></td>
|
||||
<td><img src="https://raw.githubusercontent.com/wenjianzhang/image/master/img/qq2.png" width="200px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>WeChat</td>
|
||||
<td>This QQ group is full</td>
|
||||
<td><a target="_blank" href="https://shang.qq.com/wpa/qunwpa?idkey=0f2bf59f5f2edec6a4550c364242c0641f870aa328e468c4ee4b7dbfb392627b"><img border="0" src="https://pub.idqqimg.com/wpa/images/group.png" alt="go-admin技术交流乙号" title="go-admin技术交流乙号"></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## 💎 Member
|
||||
|
||||
<a href="https://github.com/wenjianzhang"> <img src="https://avatars.githubusercontent.com/u/3890175?s=460&u=20eac63daef81588fbac611da676b99859319251&v=4" width="80px"></a>
|
||||
<a href="https://github.com/lwnmengjing"> <img src="https://avatars.githubusercontent.com/u/12806223?s=400&u=a89272dce50100b77b4c0d5c81c718bf78ebb580&v=4" width="80px"></a>
|
||||
<a href="https://github.com/chengxiao"> <img src="https://avatars.githubusercontent.com/u/1379545?s=460&u=557da5503d0ac4a8628df6b4075b17853d5edcd9&v=4" width="80px"></a>
|
||||
<a href="https://github.com/bing127"> <img src="https://avatars.githubusercontent.com/u/31166183?s=460&u=c085bff88df10bb7676c8c0351ba9dcd031d1fb3&v=4" width="80px"></a>
|
||||
|
||||
|
||||
|
||||
## JetBrains Open source certificate support
|
||||
|
||||
The go admin project has always been developed in the GoLand integrated development environment of JetBrains company, based on the * * free JetBrains open source license (s) * * genuine free license. I would like to express my thanks.
|
||||
|
||||
<a href="https://www.jetbrains.com/?from=kubeadm-ha" target="_blank"><img src="https://raw.githubusercontent.com/panjf2000/illustrations/master/jetbrains/jetbrains-variant-4.png" width="250" align="middle"/></a>
|
||||
|
||||
|
||||
|
||||
|
||||
## 🤝 Open source projects used
|
||||
@@ -169,20 +206,10 @@ Demo address:[http://www.zhangwj.com](http://www.zhangwj.com/#/login)
|
||||
|
||||
|
||||
|
||||
## Version
|
||||
|
||||
#### 2020-03-15 New Features and Optimization
|
||||
|
||||
1. Add user avatar upload
|
||||
2. Add user password modification
|
||||
3. Operation log page adjustment
|
||||
4. Optimize captcha background color
|
||||
|
||||
I saw a lot of friends who experience the wrong verification code, so I adjusted the contrast for everyone to experience!
|
||||
|
||||
|
||||
## 🤝 Thanks
|
||||
[chengxiao](https://github.com/chengxiao)
|
||||
2. [chengxiao](https://github.com/chengxiao)
|
||||
|
||||
|
||||
|
||||
## License
|
||||
@@ -191,4 +218,4 @@ I saw a lot of friends who experience the wrong verification code, so I adjusted
|
||||
|
||||
Copyright (c) 2020 wenjianzhang
|
||||
|
||||
[中文]qq technical exchange group: 74520518
|
||||
[中文]qq technical exchange group: 74520518
|
||||
@@ -23,9 +23,11 @@
|
||||
|
||||
系统初始化极度简单,只需要配置文件中,修改数据库连接,系统启动后会自动初始化数据库信息以及必须的基础数据
|
||||
|
||||
[在线文档国际](https://wenjianzhang.github.io/go-admin-site)
|
||||
[在线文档](https://doc.go-admin.dev)
|
||||
|
||||
[在线文档国内](http://mydearzwj.gitee.io/go-admin-site/)
|
||||
[github在线文档](https://wenjianzhang.github.io)
|
||||
|
||||
[gitee在线文档](http://mydearzwj.gitee.io/go-admin-doc/)
|
||||
|
||||
[前端项目](https://github.com/go-admin-team/go-admin-ui)
|
||||
|
||||
@@ -156,15 +158,44 @@ vi ./config/setting.yml
|
||||
# 2. 确认log路径
|
||||
```
|
||||
|
||||
#### 初始化数据库,以及服务启动
|
||||
:::tip ⚠️注意 在windows环境如果没有安装中CGO,会出现这个问题;
|
||||
|
||||
```bash
|
||||
E:\go-admin>go build
|
||||
# github.com/mattn/go-sqlite3
|
||||
cgo: exec /missing-cc: exec: "/missing-cc": file does not exist
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```bash
|
||||
D:\Code\go-admin>go build
|
||||
# github.com/mattn/go-sqlite3
|
||||
cgo: exec gcc: exec: "gcc": executable file not found in %PATH%
|
||||
```
|
||||
|
||||
[解决cgo问题进入](https://doc.go-admin.dev/guide/other/faq.html#_5-cgo-exec-missing-cc-exec-missing-cc-file-does-not-exist)
|
||||
|
||||
:::
|
||||
|
||||
#### 初始化数据库,以及服务启动
|
||||
|
||||
``` bash
|
||||
# 首次配置需要初始化数据库资源信息
|
||||
./go-admin migrate -c config/settings.yml
|
||||
# macOS or linux 下使用
|
||||
$ ./go-admin migrate -c=config/settings.dev.yml
|
||||
|
||||
# ⚠️注意:windows 下使用
|
||||
$ go-admin.exe migrate -c=config/settings.dev.yml
|
||||
|
||||
|
||||
# 启动项目,也可以用IDE进行调试
|
||||
./go-admin server -c config/settings.yml -p 8000
|
||||
# macOS or linux 下使用
|
||||
$ ./go-admin server -c config/settings.yml
|
||||
|
||||
|
||||
# ⚠️注意:windows 下使用
|
||||
$ go-admin.exe server -c config/settings.yml
|
||||
```
|
||||
|
||||
#### 使用docker 编译启动
|
||||
@@ -174,7 +205,8 @@ vi ./config/setting.yml
|
||||
docker build -t go-admin .
|
||||
|
||||
# 启动容器,第一个go-admin是容器名字,第二个go-admin是镜像名称
|
||||
docker run --name go-admin -p 8000:8000 -d go-admin
|
||||
# -v 映射配置文件 本地路径:容器路径
|
||||
docker run --name go-admin -p 8000:8000 -v /config/settings.yml:/config/settings.yml -d go-admin-server
|
||||
```
|
||||
|
||||
|
||||
@@ -182,18 +214,16 @@ docker run --name go-admin -p 8000:8000 -d go-admin
|
||||
#### 文档生成
|
||||
|
||||
```bash
|
||||
swag init
|
||||
|
||||
# 如果没有swag命令 go get安装一下即可
|
||||
go get -u github.com/swaggo/swag/cmd/swag
|
||||
go generate
|
||||
```
|
||||
|
||||
#### 交叉编译
|
||||
```bash
|
||||
# windows
|
||||
env GOOS=windows GOARCH=amd64 go build main.go
|
||||
|
||||
# or
|
||||
|
||||
# linux
|
||||
env GOOS=linux GOARCH=amd64 go build main.go
|
||||
```
|
||||
|
||||
@@ -278,4 +308,4 @@ zhuqiyun LLL狐 星星之火 cjj770 Sam 唐*i 晓聪 aLong *渊 海马 魏镇坪
|
||||
|
||||
[MIT](https://github.com/go-admin-team/go-admin/blob/master/LICENSE.md)
|
||||
|
||||
Copyright (c) 2020 wenjianzhang
|
||||
Copyright (c) 2020 wenjianzhang
|
||||
|
||||
@@ -29,7 +29,8 @@ type Monitor struct {
|
||||
// @Tags 系统信息
|
||||
// @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/settings/serverInfo [get]
|
||||
func (e *Monitor) ServerInfo(c *gin.Context) {
|
||||
func (e Monitor) ServerInfo(c *gin.Context) {
|
||||
e.Context = c
|
||||
|
||||
osDic := make(map[string]interface{}, 0)
|
||||
osDic["goOs"] = runtime.GOOS
|
||||
@@ -65,7 +66,7 @@ func (e *Monitor) ServerInfo(c *gin.Context) {
|
||||
cpuDic["Percent"] = pkg.Round(percent[0], 2)
|
||||
cpuDic["cpuNum"], _ = cpu.Counts(false)
|
||||
|
||||
e.Custom(c, gin.H{
|
||||
e.Custom(gin.H{
|
||||
"code": 200,
|
||||
"os": osDic,
|
||||
"mem": memDic,
|
||||
|
||||
@@ -24,6 +24,8 @@ type FileResponse struct {
|
||||
Type string `json:"type"`
|
||||
}
|
||||
|
||||
const path = "static/uploadfile/"
|
||||
|
||||
type File struct {
|
||||
apis.Api
|
||||
}
|
||||
@@ -37,12 +39,14 @@ type File struct {
|
||||
// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
|
||||
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
// @Router /api/v1/public/uploadFile [post]
|
||||
func (e *File) UploadFile(c *gin.Context) {
|
||||
func (e File) UploadFile(c *gin.Context) {
|
||||
e.Context = c
|
||||
|
||||
tag, _ := c.GetPostForm("type")
|
||||
urlPerfix := fmt.Sprintf("http://%s/", c.Request.Host)
|
||||
var fileResponse FileResponse
|
||||
if tag == "" {
|
||||
e.Error(c, 500, nil, "缺少标识")
|
||||
e.Error(500, nil, "缺少标识")
|
||||
//app.Error(c, 200, errors.New(""), "缺少标识")
|
||||
return
|
||||
} else {
|
||||
@@ -53,26 +57,30 @@ func (e *File) UploadFile(c *gin.Context) {
|
||||
if done {
|
||||
return
|
||||
}
|
||||
e.OK(c, fileResponse, "上传成功")
|
||||
e.OK(fileResponse, "上传成功")
|
||||
return
|
||||
case "2": // 多图
|
||||
multipartFile := e.multipleFile(c, urlPerfix)
|
||||
e.OK(c, multipartFile, "上传成功")
|
||||
e.OK(multipartFile, "上传成功")
|
||||
return
|
||||
case "3": // base64
|
||||
fileResponse = e.baseImg(c, fileResponse, urlPerfix)
|
||||
e.OK(c, fileResponse, "上传成功")
|
||||
e.OK(fileResponse, "上传成功")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (e *File) baseImg(c *gin.Context, fileResponse FileResponse, urlPerfix string) FileResponse {
|
||||
func (e File) baseImg(c *gin.Context, fileResponse FileResponse, urlPerfix string) FileResponse {
|
||||
files, _ := c.GetPostForm("file")
|
||||
file2list := strings.Split(files, ",")
|
||||
ddd, _ := base64.StdEncoding.DecodeString(file2list[1])
|
||||
guid := uuid.New().String()
|
||||
fileName := guid + ".jpg"
|
||||
base64File := "static/uploadfile/" + fileName
|
||||
err := utils.IsNotExistMkDir(path)
|
||||
if err != nil {
|
||||
e.Error(500, errors.New(""), "初始化文件路径失败")
|
||||
}
|
||||
base64File := path + fileName
|
||||
_ = ioutil.WriteFile(base64File, ddd, 0666)
|
||||
typeStr := strings.Replace(strings.Replace(file2list[0], "data:", "", -1), ";base64", "", -1)
|
||||
fileResponse = FileResponse{
|
||||
@@ -83,9 +91,9 @@ func (e *File) baseImg(c *gin.Context, fileResponse FileResponse, urlPerfix stri
|
||||
Type: typeStr,
|
||||
}
|
||||
source, _ := c.GetPostForm("source")
|
||||
err := thirdUpload(source, fileName, base64File)
|
||||
err = thirdUpload(source, fileName, base64File)
|
||||
if err != nil {
|
||||
e.Error(c, 200, errors.New(""), "上传第三方失败")
|
||||
e.Error(200, errors.New(""), "上传第三方失败")
|
||||
return fileResponse
|
||||
}
|
||||
if source != "1" {
|
||||
@@ -95,20 +103,25 @@ func (e *File) baseImg(c *gin.Context, fileResponse FileResponse, urlPerfix stri
|
||||
return fileResponse
|
||||
}
|
||||
|
||||
func (e *File) multipleFile(c *gin.Context, urlPerfix string) []FileResponse {
|
||||
func (e File) multipleFile(c *gin.Context, urlPerfix string) []FileResponse {
|
||||
files := c.Request.MultipartForm.File["file"]
|
||||
source, _ := c.GetPostForm("source")
|
||||
var multipartFile []FileResponse
|
||||
for _, f := range files {
|
||||
guid := uuid.New().String()
|
||||
fileName := guid + utils.GetExt(f.Filename)
|
||||
multipartFileName := "static/uploadfile/" + fileName
|
||||
|
||||
err := utils.IsNotExistMkDir(path)
|
||||
if err != nil {
|
||||
e.Error(500, errors.New(""), "初始化文件路径失败")
|
||||
}
|
||||
multipartFileName := path + fileName
|
||||
err1 := c.SaveUploadedFile(f, multipartFileName)
|
||||
fileType, _ := utils.GetType(multipartFileName)
|
||||
if err1 == nil {
|
||||
err := thirdUpload(source, fileName, multipartFileName)
|
||||
if err != nil {
|
||||
e.Error(c, 500, errors.New(""), "上传第三方失败")
|
||||
e.Error(500, errors.New(""), "上传第三方失败")
|
||||
} else {
|
||||
fileResponse := FileResponse{
|
||||
Size: pkg.GetFileSize(multipartFileName),
|
||||
@@ -128,18 +141,23 @@ func (e *File) multipleFile(c *gin.Context, urlPerfix string) []FileResponse {
|
||||
return multipartFile
|
||||
}
|
||||
|
||||
func (e *File) singleFile(c *gin.Context, fileResponse FileResponse, urlPerfix string) (FileResponse, bool) {
|
||||
func (e File) singleFile(c *gin.Context, fileResponse FileResponse, urlPerfix string) (FileResponse, bool) {
|
||||
files, err := c.FormFile("file")
|
||||
|
||||
if err != nil {
|
||||
e.Error(c, 200, errors.New(""), "图片不能为空")
|
||||
e.Error(200, errors.New(""), "图片不能为空")
|
||||
return FileResponse{}, true
|
||||
}
|
||||
// 上传文件至指定目录
|
||||
guid := uuid.New().String()
|
||||
|
||||
fileName := guid + utils.GetExt(files.Filename)
|
||||
singleFile := "static/uploadfile/" + fileName
|
||||
|
||||
err = utils.IsNotExistMkDir(path)
|
||||
if err != nil {
|
||||
e.Error(500, errors.New(""), "初始化文件路径失败")
|
||||
}
|
||||
singleFile := path + fileName
|
||||
_ = c.SaveUploadedFile(files, singleFile)
|
||||
fileType, _ := utils.GetType(singleFile)
|
||||
fileResponse = FileResponse{
|
||||
@@ -152,7 +170,7 @@ func (e *File) singleFile(c *gin.Context, fileResponse FileResponse, urlPerfix s
|
||||
source, _ := c.GetPostForm("source")
|
||||
err = thirdUpload(source, fileName, singleFile)
|
||||
if err != nil {
|
||||
e.Error(c, 200, errors.New(""), "上传第三方失败")
|
||||
e.Error(200, errors.New(""), "上传第三方失败")
|
||||
return FileResponse{}, true
|
||||
}
|
||||
fileResponse.Path = "https://youshikeji.oss-cn-shanghai.aliyuncs.com/img/" + fileName
|
||||
|
||||
@@ -17,10 +17,11 @@ type SysChinaAreaData struct {
|
||||
apis.Api
|
||||
}
|
||||
|
||||
func (e *SysChinaAreaData) GetSysChinaAreaDataList(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysChinaAreaData) GetSysChinaAreaDataList(c *gin.Context) {
|
||||
e.SetContext(c)
|
||||
log := e.GetLogger()
|
||||
d := new(dto.SysChinaAreaDataSearch)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -29,7 +30,7 @@ func (e *SysChinaAreaData) GetSysChinaAreaDataList(c *gin.Context) {
|
||||
//查询列表
|
||||
err = d.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -43,17 +44,18 @@ func (e *SysChinaAreaData) GetSysChinaAreaDataList(c *gin.Context) {
|
||||
serviceStudent.Orm = db
|
||||
err = serviceStudent.GetSysChinaAreaDataPage(d, p, &list, &count)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
e.Error(http.StatusInternalServerError, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.PageOK(c, list, int(count), d.GetPageIndex(), d.GetPageSize(), "查询成功")
|
||||
e.PageOK(list, int(count), d.GetPageIndex(), d.GetPageSize(), "查询成功")
|
||||
}
|
||||
|
||||
func (e *SysChinaAreaData) GetSysChinaAreaData(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysChinaAreaData) GetSysChinaAreaData(c *gin.Context) {
|
||||
e.SetContext(c)
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysChinaAreaDataById)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -62,7 +64,7 @@ func (e *SysChinaAreaData) GetSysChinaAreaData(c *gin.Context) {
|
||||
//查看详情
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
var object models.SysChinaAreaData
|
||||
@@ -75,17 +77,18 @@ func (e *SysChinaAreaData) GetSysChinaAreaData(c *gin.Context) {
|
||||
serviceSysChinaAreaData.Orm = db
|
||||
err = serviceSysChinaAreaData.GetSysChinaAreaData(control, p, &object)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object, "查看成功")
|
||||
e.OK(object, "查看成功")
|
||||
}
|
||||
|
||||
func (e *SysChinaAreaData) InsertSysChinaAreaData(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysChinaAreaData) InsertSysChinaAreaData(c *gin.Context) {
|
||||
e.SetContext(c)
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysChinaAreaDataControl)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -94,12 +97,12 @@ func (e *SysChinaAreaData) InsertSysChinaAreaData(c *gin.Context) {
|
||||
//新增操作
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, err := control.Generate()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
// 设置创建人
|
||||
@@ -111,17 +114,18 @@ func (e *SysChinaAreaData) InsertSysChinaAreaData(c *gin.Context) {
|
||||
err = serviceSysChinaAreaData.InsertSysChinaAreaData(object)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "创建失败")
|
||||
e.Error(http.StatusInternalServerError, err, "创建失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object.GetId(), "创建成功")
|
||||
e.OK(object.GetId(), "创建成功")
|
||||
}
|
||||
|
||||
func (e *SysChinaAreaData) UpdateSysChinaAreaData(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysChinaAreaData) UpdateSysChinaAreaData(c *gin.Context) {
|
||||
e.SetContext(c)
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysChinaAreaDataControl)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -130,12 +134,12 @@ func (e *SysChinaAreaData) UpdateSysChinaAreaData(c *gin.Context) {
|
||||
//更新操作
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, err := control.Generate()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
object.SetUpdateBy(user.GetUserId(c))
|
||||
@@ -151,13 +155,14 @@ func (e *SysChinaAreaData) UpdateSysChinaAreaData(c *gin.Context) {
|
||||
log.Error(err)
|
||||
return
|
||||
}
|
||||
e.OK(c, object.GetId(), "更新成功")
|
||||
e.OK(object.GetId(), "更新成功")
|
||||
}
|
||||
|
||||
func (e *SysChinaAreaData) DeleteSysChinaAreaData(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysChinaAreaData) DeleteSysChinaAreaData(c *gin.Context) {
|
||||
e.SetContext(c)
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysChinaAreaDataById)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -167,7 +172,7 @@ func (e *SysChinaAreaData) DeleteSysChinaAreaData(c *gin.Context) {
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
log.Errorf("Bind error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -183,8 +188,8 @@ func (e *SysChinaAreaData) DeleteSysChinaAreaData(c *gin.Context) {
|
||||
err = serviceSysChinaAreaData.RemoveSysChinaAreaData(control, p)
|
||||
if err != nil {
|
||||
log.Errorf("RemoveSysChinaAreaData error, %s", err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "删除失败")
|
||||
e.Error(http.StatusInternalServerError, err, "删除失败")
|
||||
return
|
||||
}
|
||||
e.OK(c, control.GetId(), "删除成功")
|
||||
}
|
||||
e.OK(control.GetId(), "删除成功")
|
||||
}
|
||||
@@ -1,84 +0,0 @@
|
||||
package sys_content
|
||||
|
||||
//import (
|
||||
// "github.com/gin-gonic/gin"
|
||||
// "github.com/gin-gonic/gin/binding"
|
||||
//
|
||||
// "go-admin/app/admin/models"
|
||||
// "go-admin/tools"
|
||||
// "github.com/go-admin-team/go-admin-core/sdk/pkg/response"
|
||||
// "github.com/go-admin-team/go-admin-core/sdk/pkg/response/msg"
|
||||
//)
|
||||
//
|
||||
//func GetSysContentList(c *gin.Context) {
|
||||
// var data models.SysContent
|
||||
// var err error
|
||||
// var pageSize = 10
|
||||
// var pageIndex = 1
|
||||
//
|
||||
// if size := c.Request.FormValue("pageSize"); size != "" {
|
||||
// pageSize, err = tools.StringToInt(size)
|
||||
// }
|
||||
// if index := c.Request.FormValue("pageIndex"); index != "" {
|
||||
// pageIndex, err = tools.StringToInt(index)
|
||||
// }
|
||||
//
|
||||
// data.CateId = c.Request.FormValue("cateId")
|
||||
// data.Name = c.Request.FormValue("name")
|
||||
// data.Status = c.Request.FormValue("status")
|
||||
//
|
||||
// data.DataScope = tools.GetUserIdStr(c)
|
||||
// result, count, err := data.GetPage(pageSize, pageIndex)
|
||||
// tools.HasError(err, "", -1)
|
||||
//
|
||||
// app.PageOK(c, result, count, pageIndex, pageSize, "")
|
||||
//}
|
||||
//
|
||||
//func GetSysContent(c *gin.Context) {
|
||||
// var data models.SysContent
|
||||
// data.Id, _ = tools.StringToInt(c.Param("id"))
|
||||
// result, err := data.Get()
|
||||
// tools.HasError(err, "抱歉未找到相关信息", -1)
|
||||
//
|
||||
// app.OK(c, result, "")
|
||||
//}
|
||||
//
|
||||
//// @Summary 添加内容管理
|
||||
//// @Description 获取JSON
|
||||
//// @Tags 内容管理
|
||||
//// @Accept application/json
|
||||
//// @Product application/json
|
||||
//// @Param data body models.SysContent true "data"
|
||||
//// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
|
||||
//// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
//// @Router /api/v1/syscontent [post]
|
||||
//func InsertSysContent(c *gin.Context) {
|
||||
// var data models.SysContent
|
||||
// err := c.ShouldBindJSON(&data)
|
||||
// data.CreateBy = tools.GetUserIdStr(c)
|
||||
// tools.HasError(err, "", 500)
|
||||
// result, err := data.Create()
|
||||
// tools.HasError(err, "", -1)
|
||||
// app.OK(c, result, "")
|
||||
//}
|
||||
//
|
||||
//func UpdateSysContent(c *gin.Context) {
|
||||
// var data models.SysContent
|
||||
// err := c.BindWith(&data, binding.JSON)
|
||||
// tools.HasError(err, "数据解析失败", -1)
|
||||
// data.UpdateBy = tools.GetUserIdStr(c)
|
||||
// result, err := data.Update(data.Id)
|
||||
// tools.HasError(err, "", -1)
|
||||
//
|
||||
// app.OK(c, result, "")
|
||||
//}
|
||||
//
|
||||
//func DeleteSysContent(c *gin.Context) {
|
||||
// var data models.SysContent
|
||||
// data.UpdateBy = tools.GetUserIdStr(c)
|
||||
//
|
||||
// IDS := tools.IdsStrToIdsIntGroup("id", c)
|
||||
// _, err := data.BatchDelete(IDS)
|
||||
// tools.HasError(err, msg.DeletedFail, 500)
|
||||
// app.OK(c, nil, msg.DeletedSuccess)
|
||||
//}
|
||||
@@ -18,10 +18,11 @@ type SysFileDir struct {
|
||||
apis.Api
|
||||
}
|
||||
|
||||
func (e *SysFileDir) GetSysFileDirList(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysFileDir) GetSysFileDirList(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
search := new(dto.SysFileDirSearch)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -39,17 +40,18 @@ func (e *SysFileDir) GetSysFileDirList(c *gin.Context) {
|
||||
list, err = serviceStudent.SetSysFileDir(search)
|
||||
if err != nil {
|
||||
log.Errorf("SetSysFileDir error, %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, list, "查询成功")
|
||||
e.OK(list, "查询成功")
|
||||
}
|
||||
|
||||
func (e *SysFileDir) GetSysFileDir(c *gin.Context) {
|
||||
func (e SysFileDir) GetSysFileDir(c *gin.Context) {
|
||||
control := new(dto.SysFileDirById)
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -59,7 +61,7 @@ func (e *SysFileDir) GetSysFileDir(c *gin.Context) {
|
||||
err = c.ShouldBindUri(control)
|
||||
if err != nil {
|
||||
log.Warnf("ShouldBindUri error: %s", err.Error())
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
}
|
||||
|
||||
var object models.SysFileDir
|
||||
@@ -70,17 +72,18 @@ func (e *SysFileDir) GetSysFileDir(c *gin.Context) {
|
||||
err = serviceSysFileDir.GetSysFileDir(control, &object)
|
||||
if err != nil {
|
||||
log.Errorf("GetSysFileDir error, %s", err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
e.Error(http.StatusInternalServerError, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object, "查看成功")
|
||||
e.OK(object, "查看成功")
|
||||
}
|
||||
|
||||
func (e *SysFileDir) InsertSysFileDir(c *gin.Context) {
|
||||
func (e SysFileDir) InsertSysFileDir(c *gin.Context) {
|
||||
control := new(dto.SysFileDirControl)
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -90,13 +93,13 @@ func (e *SysFileDir) InsertSysFileDir(c *gin.Context) {
|
||||
err = c.ShouldBindUri(control)
|
||||
if err != nil {
|
||||
log.Warnf("ShouldBindUri error: %s", err.Error())
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
err = c.ShouldBind(control)
|
||||
if err != nil {
|
||||
log.Warnf("ShouldBind error: %s", err.Error())
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
// 设置创建人
|
||||
@@ -108,17 +111,18 @@ func (e *SysFileDir) InsertSysFileDir(c *gin.Context) {
|
||||
err = serviceSysFileDir.InsertSysFileDir(control)
|
||||
if err != nil {
|
||||
log.Errorf("InsertSysFileDir error, %s", err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "创建失败")
|
||||
e.Error(http.StatusInternalServerError, err, "创建失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, control.ID, "创建成功")
|
||||
e.OK(control.ID, "创建成功")
|
||||
}
|
||||
|
||||
func (e *SysFileDir) UpdateSysFileDir(c *gin.Context) {
|
||||
func (e SysFileDir) UpdateSysFileDir(c *gin.Context) {
|
||||
control := new(dto.SysFileDirControl)
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -127,12 +131,12 @@ func (e *SysFileDir) UpdateSysFileDir(c *gin.Context) {
|
||||
err = c.ShouldBindUri(control)
|
||||
if err != nil {
|
||||
log.Warnf("ShouldBindUri error: %s", err.Error())
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
}
|
||||
err = c.ShouldBind(control)
|
||||
if err != nil {
|
||||
log.Warnf("ShouldBind error: %#v", err.Error())
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
}
|
||||
// 设置创建人
|
||||
control.UpdateBy = user.GetUserId(c)
|
||||
@@ -146,16 +150,17 @@ func (e *SysFileDir) UpdateSysFileDir(c *gin.Context) {
|
||||
err = serviceSysFileDir.UpdateSysFileDir(control, p)
|
||||
if err != nil {
|
||||
log.Errorf("UpdateSysFileDir error, %s", err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "更新失败")
|
||||
e.Error(http.StatusInternalServerError, err, "更新失败")
|
||||
return
|
||||
}
|
||||
e.OK(c, control.ID, "更新成功")
|
||||
e.OK(control.ID, "更新成功")
|
||||
}
|
||||
|
||||
func (e *SysFileDir) DeleteSysFileDir(c *gin.Context) {
|
||||
func (e SysFileDir) DeleteSysFileDir(c *gin.Context) {
|
||||
control := new(dto.SysFileDirById)
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -166,12 +171,12 @@ func (e *SysFileDir) DeleteSysFileDir(c *gin.Context) {
|
||||
err = c.ShouldBindUri(control)
|
||||
if err != nil {
|
||||
log.Warnf("MsgID[%s] ShouldBindUri error: %s", msgID, err.Error())
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
}
|
||||
err = c.ShouldBind(control)
|
||||
if err != nil {
|
||||
log.Warnf("MsgID[%s] ShouldBind error: %#v", msgID, err.Error())
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
}
|
||||
|
||||
// 设置编辑人
|
||||
@@ -186,8 +191,8 @@ func (e *SysFileDir) DeleteSysFileDir(c *gin.Context) {
|
||||
err = serviceSysFileDir.RemoveSysFileDir(control, p)
|
||||
if err != nil {
|
||||
log.Errorf("RemoveSysFileDir error, %s", err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "删除失败")
|
||||
e.Error(http.StatusInternalServerError, err, "删除失败")
|
||||
return
|
||||
}
|
||||
e.OK(c, control.Id, "删除成功")
|
||||
e.OK(control.Id, "删除成功")
|
||||
}
|
||||
|
||||
@@ -17,10 +17,11 @@ type SysFileInfo struct {
|
||||
apis.Api
|
||||
}
|
||||
|
||||
func (e *SysFileInfo) GetSysFileInfoList(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysFileInfo) GetSysFileInfoList(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
search := new(dto.SysFileInfoSearch)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -28,7 +29,7 @@ func (e *SysFileInfo) GetSysFileInfoList(c *gin.Context) {
|
||||
err = c.ShouldBind(search)
|
||||
if err != nil {
|
||||
log.Warnf("参数验证错误, error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -43,17 +44,18 @@ func (e *SysFileInfo) GetSysFileInfoList(c *gin.Context) {
|
||||
err = serviceStudent.GetSysFileInfoPage(search, p, &list, &count)
|
||||
if err != nil {
|
||||
log.Errorf("GetSysFileInfoPage error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
e.Error(http.StatusInternalServerError, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.PageOK(c, list, int(count), search.PageIndex, search.PageSize, "查询成功")
|
||||
e.PageOK(list, int(count), search.PageIndex, search.PageSize, "查询成功")
|
||||
}
|
||||
|
||||
func (e *SysFileInfo) GetSysFileInfo(c *gin.Context) {
|
||||
func (e SysFileInfo) GetSysFileInfo(c *gin.Context) {
|
||||
control := new(dto.SysFileInfoById)
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -63,7 +65,7 @@ func (e *SysFileInfo) GetSysFileInfo(c *gin.Context) {
|
||||
err = c.ShouldBindUri(control)
|
||||
if err != nil {
|
||||
log.Warnf("参数验证错误, error:%s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -78,17 +80,18 @@ func (e *SysFileInfo) GetSysFileInfo(c *gin.Context) {
|
||||
err = serviceSysFileInfo.GetSysFileInfo(control, p, &object)
|
||||
if err != nil {
|
||||
log.Errorf("GetSysFileInfo error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
e.Error(http.StatusInternalServerError, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object, "查看成功")
|
||||
e.OK(object, "查看成功")
|
||||
}
|
||||
|
||||
func (e *SysFileInfo) InsertSysFileInfo(c *gin.Context) {
|
||||
func (e SysFileInfo) InsertSysFileInfo(c *gin.Context) {
|
||||
control := new(dto.SysFileInfoControl)
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -98,13 +101,13 @@ func (e *SysFileInfo) InsertSysFileInfo(c *gin.Context) {
|
||||
err = c.ShouldBindUri(control)
|
||||
if err != nil {
|
||||
log.Warnf("参数验证错误, error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
err = c.ShouldBind(control)
|
||||
if err != nil {
|
||||
log.Warnf("参数验证错误, error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
// 设置创建人
|
||||
@@ -116,17 +119,18 @@ func (e *SysFileInfo) InsertSysFileInfo(c *gin.Context) {
|
||||
err = serviceSysFileInfo.InsertSysFileInfo(control)
|
||||
if err != nil {
|
||||
log.Errorf("InsertSysFileInfo error: %s", err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "创建失败")
|
||||
e.Error(http.StatusInternalServerError, err, "创建失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, control.ID, "创建成功")
|
||||
e.OK(control.ID, "创建成功")
|
||||
}
|
||||
|
||||
func (e *SysFileInfo) UpdateSysFileInfo(c *gin.Context) {
|
||||
func (e SysFileInfo) UpdateSysFileInfo(c *gin.Context) {
|
||||
control := new(dto.SysFileInfoControl)
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -135,13 +139,13 @@ func (e *SysFileInfo) UpdateSysFileInfo(c *gin.Context) {
|
||||
err = c.ShouldBindUri(control)
|
||||
if err != nil {
|
||||
log.Warnf("参数验证错误, error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
err = c.ShouldBind(control)
|
||||
if err != nil {
|
||||
log.Warnf("参数验证错误, error:%s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
// 设置创建人
|
||||
@@ -156,16 +160,17 @@ func (e *SysFileInfo) UpdateSysFileInfo(c *gin.Context) {
|
||||
err = serviceSysFileInfo.UpdateSysFileInfo(control, p)
|
||||
if err != nil {
|
||||
log.Errorf("UpdateSysFileInfo error: %s", err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "创建失败")
|
||||
e.Error(http.StatusInternalServerError, err, "创建失败")
|
||||
return
|
||||
}
|
||||
e.OK(c, control.ID, "更新成功")
|
||||
e.OK(control.ID, "更新成功")
|
||||
}
|
||||
|
||||
func (e *SysFileInfo) DeleteSysFileInfo(c *gin.Context) {
|
||||
func (e SysFileInfo) DeleteSysFileInfo(c *gin.Context) {
|
||||
control := new(dto.SysFileInfoById)
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -175,13 +180,13 @@ func (e *SysFileInfo) DeleteSysFileInfo(c *gin.Context) {
|
||||
err = c.ShouldBindUri(control)
|
||||
if err != nil {
|
||||
log.Warnf("参数验证错误, error: %s", err)
|
||||
e.Error(c, 422, err, "参数验证失败")
|
||||
e.Error(422, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
err = c.ShouldBind(control)
|
||||
if err != nil {
|
||||
log.Warnf("参数验证错误, error: %s", err)
|
||||
e.Error(c, 422, err, "参数验证失败")
|
||||
e.Error(422, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -197,8 +202,8 @@ func (e *SysFileInfo) DeleteSysFileInfo(c *gin.Context) {
|
||||
err = serviceSysFileInfo.RemoveSysFileInfo(control, p)
|
||||
if err != nil {
|
||||
log.Errorf("RemoveSysFileInfo error: %s", err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "创建失败")
|
||||
e.Error(http.StatusInternalServerError, err, "创建失败")
|
||||
return
|
||||
}
|
||||
e.OK(c, control.Id, "删除成功")
|
||||
e.OK(control.Id, "删除成功")
|
||||
}
|
||||
|
||||
@@ -15,18 +15,19 @@ type SysJob struct {
|
||||
}
|
||||
|
||||
// RemoveJobForService 调用service实现
|
||||
func (e *SysJob) RemoveJobForService(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysJob) RemoveJobForService(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
}
|
||||
var v dto.GeneralDelDto
|
||||
err = c.BindUri(&v)
|
||||
err = c.Bind(&v)
|
||||
if err != nil {
|
||||
log.Warnf("参数验证错误, error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
s := service.SysJob{}
|
||||
@@ -36,16 +37,17 @@ func (e *SysJob) RemoveJobForService(c *gin.Context) {
|
||||
err = s.RemoveJob(&v)
|
||||
if err != nil {
|
||||
log.Errorf("RemoveJob error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "")
|
||||
e.Error(http.StatusInternalServerError, err, "")
|
||||
return
|
||||
}
|
||||
e.OK(c, nil, s.Msg)
|
||||
e.OK(nil, s.Msg)
|
||||
}
|
||||
|
||||
// StartJobForService 启动job service实现
|
||||
func (e *SysJob) StartJobForService(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysJob) StartJobForService(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -54,7 +56,7 @@ func (e *SysJob) StartJobForService(c *gin.Context) {
|
||||
err = c.BindUri(&v)
|
||||
if err != nil {
|
||||
log.Warnf("参数验证错误, error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
s := service.SysJob{}
|
||||
@@ -64,8 +66,8 @@ func (e *SysJob) StartJobForService(c *gin.Context) {
|
||||
err = s.StartJob(&v)
|
||||
if err != nil {
|
||||
log.Errorf("GetCrontabKey error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "")
|
||||
e.Error(http.StatusInternalServerError, err, "")
|
||||
return
|
||||
}
|
||||
e.OK(c, nil, s.Msg)
|
||||
e.OK(nil, s.Msg)
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ import (
|
||||
_ "github.com/go-admin-team/go-admin-core/sdk/pkg/response"
|
||||
"github.com/google/uuid"
|
||||
|
||||
"go-admin/app/admin/models"
|
||||
"go-admin/app/admin/models/system"
|
||||
"go-admin/app/admin/service"
|
||||
"go-admin/app/admin/service/dto"
|
||||
@@ -29,10 +28,11 @@ type SysUser struct {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}"
|
||||
// @Router /api/v1/sysUser [get]
|
||||
// @Security Bearer
|
||||
func (e *SysUser) GetSysUserList(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysUser) GetSysUserList(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
d := new(dto.SysUserSearch)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -44,7 +44,7 @@ func (e *SysUser) GetSysUserList(c *gin.Context) {
|
||||
err = req.Bind(c)
|
||||
if err != nil {
|
||||
log.Warnf("Bind error: %s", err.Error())
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -58,11 +58,11 @@ func (e *SysUser) GetSysUserList(c *gin.Context) {
|
||||
serviceStudent.Orm = db
|
||||
err = serviceStudent.GetSysUserPage(req, p, &list, &count)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
e.Error(http.StatusInternalServerError, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.PageOK(c, list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
|
||||
e.PageOK(list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
|
||||
}
|
||||
|
||||
// @Summary 获取用户
|
||||
@@ -72,10 +72,11 @@ func (e *SysUser) GetSysUserList(c *gin.Context) {
|
||||
// @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/sysUser/{userId} [get]
|
||||
// @Security Bearer
|
||||
func (e *SysUser) GetSysUser(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysUser) GetSysUser(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysUserById)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -85,7 +86,7 @@ func (e *SysUser) GetSysUser(c *gin.Context) {
|
||||
req := control.Generate()
|
||||
err = req.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
var object system.SysUser
|
||||
@@ -98,11 +99,11 @@ func (e *SysUser) GetSysUser(c *gin.Context) {
|
||||
serviceSysUser.Orm = db
|
||||
err = serviceSysUser.GetSysUser(req, p, &object)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object, "查看成功")
|
||||
e.OK(object, "查看成功")
|
||||
}
|
||||
|
||||
// @Summary 创建用户
|
||||
@@ -114,10 +115,11 @@ func (e *SysUser) GetSysUser(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
|
||||
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
// @Router /api/v1/sysUser [post]
|
||||
func (e *SysUser) InsertSysUser(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysUser) InsertSysUser(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysUserControl)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -127,13 +129,13 @@ func (e *SysUser) InsertSysUser(c *gin.Context) {
|
||||
req := control.Generate()
|
||||
err = req.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
var object common.ActiveRecord
|
||||
object, err = req.GenerateM()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
// 设置创建人
|
||||
@@ -145,11 +147,11 @@ func (e *SysUser) InsertSysUser(c *gin.Context) {
|
||||
err = serviceSysUser.InsertSysUser(object)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "创建失败")
|
||||
e.Error(http.StatusInternalServerError, err, "创建失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object.GetId(), "创建成功")
|
||||
e.OK(object.GetId(), "创建成功")
|
||||
}
|
||||
|
||||
// @Summary 修改用户数据
|
||||
@@ -161,11 +163,12 @@ func (e *SysUser) InsertSysUser(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": 200, "message": "修改成功"}"
|
||||
// @Success 200 {string} string "{"code": -1, "message": "修改失败"}"
|
||||
// @Router /api/v1/sysuser/{userId} [put]
|
||||
func (e *SysUser) UpdateSysUser(c *gin.Context) {
|
||||
func (e SysUser) UpdateSysUser(c *gin.Context) {
|
||||
control := new(dto.SysUserControl)
|
||||
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -175,13 +178,13 @@ func (e *SysUser) UpdateSysUser(c *gin.Context) {
|
||||
//更新操作
|
||||
err = req.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
var object common.ActiveRecord
|
||||
object, err = req.GenerateM()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
object.SetUpdateBy(user.GetUserId(c))
|
||||
@@ -197,7 +200,7 @@ func (e *SysUser) UpdateSysUser(c *gin.Context) {
|
||||
log.Error(err)
|
||||
return
|
||||
}
|
||||
e.OK(c, object.GetId(), "更新成功")
|
||||
e.OK(object.GetId(), "更新成功")
|
||||
}
|
||||
|
||||
// @Summary 删除用户数据
|
||||
@@ -207,11 +210,12 @@ func (e *SysUser) UpdateSysUser(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": 200, "message": "删除成功"}"
|
||||
// @Success 200 {string} string "{"code": -1, "message": "删除失败"}"
|
||||
// @Router /api/v1/sysuser/{userId} [delete]
|
||||
func (e *SysUser) DeleteSysUser(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysUser) DeleteSysUser(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysUserById)
|
||||
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -222,13 +226,13 @@ func (e *SysUser) DeleteSysUser(c *gin.Context) {
|
||||
err = req.Bind(c)
|
||||
if err != nil {
|
||||
log.Errorf("Bind error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
var object common.ActiveRecord
|
||||
object, err = req.GenerateM()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -246,7 +250,7 @@ func (e *SysUser) DeleteSysUser(c *gin.Context) {
|
||||
log.Error(err)
|
||||
return
|
||||
}
|
||||
e.OK(c, object.GetId(), "删除成功")
|
||||
e.OK(object.GetId(), "删除成功")
|
||||
}
|
||||
|
||||
// @Summary 修改头像
|
||||
@@ -257,9 +261,10 @@ func (e *SysUser) DeleteSysUser(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
|
||||
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
// @Router /api/v1/user/avatar [post]
|
||||
func (e *SysUser) InsetSysUserAvatar(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysUser) InsetSysUserAvatar(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -278,7 +283,7 @@ func (e *SysUser) InsetSysUserAvatar(c *gin.Context) {
|
||||
err = c.SaveUploadedFile(file, filPath)
|
||||
if err != nil {
|
||||
log.Errorf("save file error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "")
|
||||
e.Error(http.StatusInternalServerError, err, "")
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -295,7 +300,7 @@ func (e *SysUser) InsetSysUserAvatar(c *gin.Context) {
|
||||
log.Error(err)
|
||||
return
|
||||
}
|
||||
e.OK(c, filPath, "修改成功")
|
||||
e.OK(filPath, "修改成功")
|
||||
}
|
||||
|
||||
// @Summary 重置密码
|
||||
@@ -307,9 +312,10 @@ func (e *SysUser) InsetSysUserAvatar(c *gin.Context) {
|
||||
// @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/user/pwd [post]
|
||||
// @Security Bearer
|
||||
func (e *SysUser) SysUserUpdatePwd(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysUser) SysUserUpdatePwd(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -319,26 +325,23 @@ func (e *SysUser) SysUserUpdatePwd(c *gin.Context) {
|
||||
err = c.Bind(&pwd)
|
||||
if err != nil {
|
||||
log.Errorf("Bind error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
// 数据权限检查
|
||||
p := actions.GetPermissionFromContext(c)
|
||||
|
||||
object := &system.SysUser{
|
||||
UserId: p.UserId,
|
||||
Password: pwd.Password,
|
||||
}
|
||||
serviceSysUser := service.SysUser{}
|
||||
serviceSysUser.Orm = db
|
||||
serviceSysUser.Log = log
|
||||
err = serviceSysUser.UpdateSysUser(object, p)
|
||||
err = serviceSysUser.UpdateSysUserPwd(user.GetUserId(c), pwd.OldPassword, pwd.NewPassword, p)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(http.StatusForbidden, err, "密码修改失败")
|
||||
return
|
||||
}
|
||||
e.OK(c, nil, "密码修改成功")
|
||||
e.OK(nil, "密码修改成功")
|
||||
}
|
||||
|
||||
// @Summary 获取个人中心用户
|
||||
@@ -347,9 +350,10 @@ func (e *SysUser) SysUserUpdatePwd(c *gin.Context) {
|
||||
// @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/user/profile [get]
|
||||
// @Security Bearer
|
||||
func (e *SysUser) GetSysUserProfile(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysUser) GetSysUserProfile(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -365,10 +369,10 @@ func (e *SysUser) GetSysUserProfile(c *gin.Context) {
|
||||
err = serviceSysUser.GetSysUserProfile(id, user, &roles, &posts)
|
||||
if err != nil {
|
||||
log.Errorf("get user profile error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "获取用户信息失败")
|
||||
e.Error(http.StatusInternalServerError, err, "获取用户信息失败")
|
||||
return
|
||||
}
|
||||
e.OK(c, gin.H{
|
||||
e.OK(gin.H{
|
||||
"user": user,
|
||||
"roles": roles,
|
||||
"posts": posts,
|
||||
@@ -406,10 +410,11 @@ func (e *SysUser) GetSysUserProfile(c *gin.Context) {
|
||||
//})
|
||||
}
|
||||
|
||||
func (e *SysUser) GetInfo(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysUser) GetInfo(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -427,7 +432,7 @@ func (e *SysUser) GetInfo(c *gin.Context) {
|
||||
var buttons = make([]string, 1)
|
||||
buttons[0] = "*:*:*"
|
||||
|
||||
RoleMenu := models.RoleMenu{}
|
||||
RoleMenu := system.RoleMenu{}
|
||||
RoleMenu.RoleId = user.GetRoleId(c)
|
||||
|
||||
var mp = make(map[string]interface{})
|
||||
@@ -449,7 +454,7 @@ func (e *SysUser) GetInfo(c *gin.Context) {
|
||||
serviceSysUser.Orm = db
|
||||
err = serviceSysUser.GetSysUser(req, p, &sysUser)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnauthorized, err, "登录失败")
|
||||
e.Error(http.StatusUnauthorized, err, "登录失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -463,5 +468,5 @@ func (e *SysUser) GetInfo(c *gin.Context) {
|
||||
mp["userId"] = sysUser.UserId
|
||||
mp["deptId"] = sysUser.DeptId
|
||||
mp["name"] = sysUser.NickName
|
||||
e.OK(c, mp, "")
|
||||
e.OK(mp, "")
|
||||
}
|
||||
|
||||
@@ -10,15 +10,16 @@ type System struct {
|
||||
apis.Api
|
||||
}
|
||||
|
||||
func (e *System) GenerateCaptchaHandler(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e System) GenerateCaptchaHandler(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
id, b64s, err := captcha.DriverDigitFunc()
|
||||
if err != nil {
|
||||
log.Errorf("DriverDigitFunc error, %s", err.Error())
|
||||
e.Error(c, 500, err, "验证码获取失败")
|
||||
e.Error(500, err, "验证码获取失败")
|
||||
return
|
||||
}
|
||||
e.Custom(c, gin.H{
|
||||
e.Custom(gin.H{
|
||||
"code": 200,
|
||||
"data": b64s,
|
||||
"id": id,
|
||||
|
||||
@@ -29,9 +29,10 @@ type SysDictData struct {
|
||||
// @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/dict/data [get]
|
||||
// @Security Bearer
|
||||
func (e *SysDictData) GetSysDictDataList(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysDictData) GetSysDictDataList(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -43,7 +44,7 @@ func (e *SysDictData) GetSysDictDataList(c *gin.Context) {
|
||||
err = req.Bind(c)
|
||||
if err != nil {
|
||||
log.Warnf("Bind error: %s", err.Error())
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -55,11 +56,11 @@ func (e *SysDictData) GetSysDictDataList(c *gin.Context) {
|
||||
err = s.GetPage(req, &list, &count)
|
||||
if err != nil {
|
||||
log.Errorf("GetPage error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
e.Error(http.StatusInternalServerError, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.PageOK(c, list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
|
||||
e.PageOK(list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
|
||||
}
|
||||
|
||||
// @Summary 通过编码获取字典数据
|
||||
@@ -69,9 +70,10 @@ func (e *SysDictData) GetSysDictDataList(c *gin.Context) {
|
||||
// @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/dict/data/{dictCode} [get]
|
||||
// @Security Bearer
|
||||
func (e *SysDictData) GetSysDictData(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysDictData) GetSysDictData(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -82,7 +84,7 @@ func (e *SysDictData) GetSysDictData(c *gin.Context) {
|
||||
err = req.Bind(c)
|
||||
if err != nil {
|
||||
log.Warnf("Bind error: %s", err.Error())
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
var object system.SysDictData
|
||||
@@ -93,11 +95,11 @@ func (e *SysDictData) GetSysDictData(c *gin.Context) {
|
||||
err = s.Get(req, &object)
|
||||
if err != nil {
|
||||
log.Warnf("Get error: %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
e.Error(http.StatusInternalServerError, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object, "查看成功")
|
||||
e.OK(object, "查看成功")
|
||||
}
|
||||
|
||||
// @Summary 添加字典数据
|
||||
@@ -110,9 +112,10 @@ func (e *SysDictData) GetSysDictData(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
// @Router /api/v1/dict/data [post]
|
||||
// @Security Bearer
|
||||
func (e *SysDictData) InsertSysDictData(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysDictData) InsertSysDictData(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -123,7 +126,7 @@ func (e *SysDictData) InsertSysDictData(c *gin.Context) {
|
||||
err = req.Bind(c)
|
||||
if err != nil {
|
||||
log.Warnf("Bind error: %s", err.Error())
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, _ := req.GenerateM()
|
||||
@@ -136,11 +139,11 @@ func (e *SysDictData) InsertSysDictData(c *gin.Context) {
|
||||
err = s.Insert(object.(*system.SysDictData))
|
||||
if err != nil {
|
||||
log.Errorf("Insert error, %s", err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "创建失败")
|
||||
e.Error(http.StatusInternalServerError, err, "创建失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object.GetId(), "创建成功")
|
||||
e.OK(object.GetId(), "创建成功")
|
||||
}
|
||||
|
||||
// @Summary 修改字典数据
|
||||
@@ -153,9 +156,10 @@ func (e *SysDictData) InsertSysDictData(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
// @Router /api/v1/dict/data/{dictCode} [put]
|
||||
// @Security Bearer
|
||||
func (e *SysDictData) UpdateSysDictData(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysDictData) UpdateSysDictData(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -166,7 +170,7 @@ func (e *SysDictData) UpdateSysDictData(c *gin.Context) {
|
||||
err = req.Bind(c)
|
||||
if err != nil {
|
||||
log.Warnf("request validate error, %s", err.Error())
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, _ := req.GenerateM()
|
||||
@@ -178,10 +182,10 @@ func (e *SysDictData) UpdateSysDictData(c *gin.Context) {
|
||||
err = s.Update(object.(*system.SysDictData))
|
||||
if err != nil {
|
||||
log.Errorf("Update error, %s", err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "更新失败")
|
||||
e.Error(http.StatusInternalServerError, err, "更新失败")
|
||||
return
|
||||
}
|
||||
e.OK(c, object.GetId(), "更新成功")
|
||||
e.OK(object.GetId(), "更新成功")
|
||||
}
|
||||
|
||||
// @Summary 删除字典数据
|
||||
@@ -191,9 +195,10 @@ func (e *SysDictData) UpdateSysDictData(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": 200, "message": "删除成功"}"
|
||||
// @Success 200 {string} string "{"code": -1, "message": "删除失败"}"
|
||||
// @Router /api/v1/dict/data/{dictCode} [delete]
|
||||
func (e *SysDictData) DeleteSysDictData(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysDictData) DeleteSysDictData(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -204,14 +209,14 @@ func (e *SysDictData) DeleteSysDictData(c *gin.Context) {
|
||||
err = req.Bind(c)
|
||||
if err != nil {
|
||||
log.Warnf("Bind error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
var object common.ActiveRecord
|
||||
object, err = req.GenerateM()
|
||||
if err != nil {
|
||||
log.Errorf("GenerateM error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -224,15 +229,16 @@ func (e *SysDictData) DeleteSysDictData(c *gin.Context) {
|
||||
err = s.Remove(req, object.(*system.SysDictData))
|
||||
if err != nil {
|
||||
log.Errorf("Remove error, %s", err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "删除失败")
|
||||
e.Error(http.StatusInternalServerError, err, "删除失败")
|
||||
return
|
||||
}
|
||||
e.OK(c, object.GetId(), "删除成功")
|
||||
e.OK(object.GetId(), "删除成功")
|
||||
}
|
||||
|
||||
func (e *SysDictData) GetSysDictDataAll(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysDictData) GetSysDictDataAll(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -244,7 +250,7 @@ func (e *SysDictData) GetSysDictDataAll(c *gin.Context) {
|
||||
err = req.Bind(c)
|
||||
if err != nil {
|
||||
log.Warnf("Bind error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -255,9 +261,9 @@ func (e *SysDictData) GetSysDictDataAll(c *gin.Context) {
|
||||
err = s.GetAll(req, &list)
|
||||
if err != nil {
|
||||
log.Errorf("GetAll error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
e.Error(http.StatusInternalServerError, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, list, "查询成功")
|
||||
e.OK(list, "查询成功")
|
||||
}
|
||||
|
||||
@@ -29,9 +29,10 @@ type SysDictType struct {
|
||||
// @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/dict/type [get]
|
||||
// @Security Bearer
|
||||
func (e *SysDictType) GetSysDictTypeList(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysDictType) GetSysDictTypeList(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -42,7 +43,7 @@ func (e *SysDictType) GetSysDictTypeList(c *gin.Context) {
|
||||
//查询列表
|
||||
err = req.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -53,11 +54,11 @@ func (e *SysDictType) GetSysDictTypeList(c *gin.Context) {
|
||||
s.Orm = db.Debug()
|
||||
err = s.GetPage(req, &list, &count)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
e.Error(http.StatusInternalServerError, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.PageOK(c, list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
|
||||
e.PageOK(list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
|
||||
}
|
||||
|
||||
// @Summary 通过字典id获取字典类型
|
||||
@@ -67,9 +68,10 @@ func (e *SysDictType) GetSysDictTypeList(c *gin.Context) {
|
||||
// @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/dict/type/{dictId} [get]
|
||||
// @Security Bearer
|
||||
func (e *SysDictType) GetSysDictType(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysDictType) GetSysDictType(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -79,7 +81,7 @@ func (e *SysDictType) GetSysDictType(c *gin.Context) {
|
||||
req := &dto.SysDictTypeById{}
|
||||
err = req.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
var object system.SysDictType
|
||||
@@ -89,11 +91,11 @@ func (e *SysDictType) GetSysDictType(c *gin.Context) {
|
||||
s.Orm = db
|
||||
err = s.Get(req, &object)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object, "查看成功")
|
||||
e.OK(object, "查看成功")
|
||||
}
|
||||
|
||||
// @Summary 添加字典类型
|
||||
@@ -106,9 +108,10 @@ func (e *SysDictType) GetSysDictType(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
// @Router /api/v1/dict/type [post]
|
||||
// @Security Bearer
|
||||
func (e *SysDictType) InsertSysDictType(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysDictType) InsertSysDictType(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -118,7 +121,7 @@ func (e *SysDictType) InsertSysDictType(c *gin.Context) {
|
||||
req := &dto.SysDictTypeControl{}
|
||||
err = req.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, _ := req.GenerateM()
|
||||
@@ -131,11 +134,11 @@ func (e *SysDictType) InsertSysDictType(c *gin.Context) {
|
||||
err = s.Insert(object.(*system.SysDictType))
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "创建失败")
|
||||
e.Error(http.StatusInternalServerError, err, "创建失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object.GetId(), "创建成功")
|
||||
e.OK(object.GetId(), "创建成功")
|
||||
}
|
||||
|
||||
// @Summary 修改字典类型
|
||||
@@ -148,9 +151,10 @@ func (e *SysDictType) InsertSysDictType(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
// @Router /api/v1/dict/type/{dictId} [put]
|
||||
// @Security Bearer
|
||||
func (e *SysDictType) UpdateSysDictType(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysDictType) UpdateSysDictType(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -160,7 +164,7 @@ func (e *SysDictType) UpdateSysDictType(c *gin.Context) {
|
||||
//更新操作
|
||||
err = req.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, _ := req.GenerateM()
|
||||
@@ -174,7 +178,7 @@ func (e *SysDictType) UpdateSysDictType(c *gin.Context) {
|
||||
log.Error(err)
|
||||
return
|
||||
}
|
||||
e.OK(c, object.GetId(), "更新成功")
|
||||
e.OK(object.GetId(), "更新成功")
|
||||
}
|
||||
|
||||
// @Summary 删除字典类型
|
||||
@@ -184,9 +188,10 @@ func (e *SysDictType) UpdateSysDictType(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": 200, "message": "删除成功"}"
|
||||
// @Success 200 {string} string "{"code": -1, "message": "删除失败"}"
|
||||
// @Router /api/v1/dict/type/{dictId} [delete]
|
||||
func (e *SysDictType) DeleteSysDictType(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysDictType) DeleteSysDictType(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -197,13 +202,13 @@ func (e *SysDictType) DeleteSysDictType(c *gin.Context) {
|
||||
err = req.Bind(c)
|
||||
if err != nil {
|
||||
log.Errorf("Bind error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
var object common.ActiveRecord
|
||||
object, err = req.GenerateM()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -218,7 +223,7 @@ func (e *SysDictType) DeleteSysDictType(c *gin.Context) {
|
||||
log.Error(err)
|
||||
return
|
||||
}
|
||||
e.OK(c, object.GetId(), "删除成功")
|
||||
e.OK(object.GetId(), "删除成功")
|
||||
}
|
||||
|
||||
// @Summary 字典类型全部数据
|
||||
@@ -230,9 +235,10 @@ func (e *SysDictType) DeleteSysDictType(c *gin.Context) {
|
||||
// @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/dict/type-option-select [get]
|
||||
// @Security Bearer
|
||||
func (e *SysDictType) GetSysDictTypeAll(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysDictType) GetSysDictTypeAll(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -243,7 +249,7 @@ func (e *SysDictType) GetSysDictTypeAll(c *gin.Context) {
|
||||
//查询列表
|
||||
err = req.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -253,9 +259,9 @@ func (e *SysDictType) GetSysDictTypeAll(c *gin.Context) {
|
||||
s.Orm = db
|
||||
err = s.GetAll(req, &list)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, list, "查询成功")
|
||||
e.OK(list, "查询成功")
|
||||
}
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
package system
|
||||
|
||||
import (
|
||||
"go-admin/app/admin/models"
|
||||
)
|
||||
|
||||
// @Summary RoleMenu列表数据
|
||||
// @Description 获取JSON
|
||||
// @Tags 角色菜单
|
||||
// @Param RoleId query string false "RoleId"
|
||||
// @Success 200 {string} string "{"code": 200, "data": [...]}"
|
||||
// @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}"
|
||||
// @Router /api/v1/rolemenu [get]
|
||||
// @Security Bearer
|
||||
//func GetRoleMenu(c *gin.Context) {
|
||||
// var Rm models.RoleMenu
|
||||
// err := c.ShouldBind(&Rm)
|
||||
// result, err := Rm.Get()
|
||||
// var res response.Response
|
||||
// if err != nil {
|
||||
// res.Msg = "抱歉未找到相关信息"
|
||||
// c.JSON(http.StatusOK, res.ReturnError(200))
|
||||
// return
|
||||
// }
|
||||
// res.Data = result
|
||||
// c.JSON(http.StatusOK, res.ReturnOK())
|
||||
//}
|
||||
|
||||
type RoleMenuPost struct {
|
||||
RoleId string
|
||||
RoleMenu []models.RoleMenu
|
||||
}
|
||||
|
||||
//func InsertRoleMenu(c *gin.Context) {
|
||||
//
|
||||
// var res response.Response
|
||||
// res.Msg = "添加成功"
|
||||
// c.JSON(http.StatusOK, res.ReturnOK())
|
||||
// return
|
||||
//
|
||||
//}
|
||||
|
||||
// @Summary 删除用户菜单数据
|
||||
// @Description 删除数据
|
||||
// @Tags 角色菜单
|
||||
// @Param id path string true "id"
|
||||
// @Param menu_id query string false "menu_id"
|
||||
// @Success 200 {string} string "{"code": 200, "message": "删除成功"}"
|
||||
// @Success 200 {string} string "{"code": -1, "message": "删除失败"}"
|
||||
// @Router /api/v1/rolemenu/{id} [delete]
|
||||
//func DeleteRoleMenu(c *gin.Context) {
|
||||
// var t models.RoleMenu
|
||||
// id := c.Param("id")
|
||||
// menuId := c.Request.FormValue("menu_id")
|
||||
// fmt.Println(menuId)
|
||||
// _, err := t.Delete(id, menuId)
|
||||
// if err != nil {
|
||||
// var res response.Response
|
||||
// res.Msg = "删除失败"
|
||||
// c.JSON(http.StatusOK, res.ReturnError(200))
|
||||
// return
|
||||
// }
|
||||
// var res response.Response
|
||||
// res.Msg = "删除成功"
|
||||
// c.JSON(http.StatusOK, res.ReturnOK())
|
||||
// return
|
||||
//}
|
||||
@@ -23,9 +23,10 @@ type SysSetting struct {
|
||||
// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
|
||||
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
// @Router /api/v1/setting [get]
|
||||
func (e *SysSetting) GetSetting(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysSetting) GetSetting(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -37,7 +38,7 @@ func (e *SysSetting) GetSetting(c *gin.Context) {
|
||||
var model = models.SysSetting{}
|
||||
err = sysSettingService.GetSysSetting(&model)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
e.Error(http.StatusInternalServerError, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -47,7 +48,7 @@ func (e *SysSetting) GetSetting(c *gin.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
e.OK(c, model, "查询成功")
|
||||
e.OK(model, "查询成功")
|
||||
}
|
||||
|
||||
// @Summary 更新或提交系统信息
|
||||
@@ -57,10 +58,11 @@ func (e *SysSetting) GetSetting(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
|
||||
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
// @Router /api/v1/system/setting [post]
|
||||
func (e *SysSetting) CreateOrUpdateSetting(c *gin.Context) {
|
||||
func (e SysSetting) CreateOrUpdateSetting(c *gin.Context) {
|
||||
control := new(dto.SysSettingControl)
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -69,12 +71,12 @@ func (e *SysSetting) CreateOrUpdateSetting(c *gin.Context) {
|
||||
//更新操作
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, err := control.Generate()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -83,7 +85,7 @@ func (e *SysSetting) CreateOrUpdateSetting(c *gin.Context) {
|
||||
sysSettingService.Orm = db
|
||||
err = sysSettingService.UpdateSysSetting(object)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "更新失败")
|
||||
e.Error(http.StatusInternalServerError, err, "更新失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -92,5 +94,5 @@ func (e *SysSetting) CreateOrUpdateSetting(c *gin.Context) {
|
||||
object.Logo = fmt.Sprintf("http://%s/%s", c.Request.Host, object.Logo)
|
||||
}
|
||||
}
|
||||
e.OK(c, object, "提交成功")
|
||||
e.OK(object, "提交成功")
|
||||
}
|
||||
|
||||
@@ -16,10 +16,11 @@ type SysConfig struct {
|
||||
apis.Api
|
||||
}
|
||||
|
||||
func (e *SysConfig) GetSysConfigList(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysConfig) GetSysConfigList(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
d := new(dto.SysConfigSearch)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -29,7 +30,7 @@ func (e *SysConfig) GetSysConfigList(c *gin.Context) {
|
||||
err = d.Bind(c)
|
||||
if err != nil {
|
||||
log.Errorf("参数验证失败, error:%s", err)
|
||||
e.Error(c, 500, err, "参数验证失败")
|
||||
e.Error(500, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -41,17 +42,18 @@ func (e *SysConfig) GetSysConfigList(c *gin.Context) {
|
||||
err = s.GetSysConfigPage(d, &list, &count)
|
||||
if err != nil {
|
||||
log.Errorf("GetSysConfigPage 查询失败, error:%s", err)
|
||||
e.Error(c, 500, err, "查询失败")
|
||||
e.Error(500, err, "查询失败")
|
||||
return
|
||||
}
|
||||
e.PageOK(c, list, int(count), d.GetPageIndex(), d.GetPageSize(), "查询成功")
|
||||
e.PageOK(list, int(count), d.GetPageIndex(), d.GetPageSize(), "查询成功")
|
||||
}
|
||||
|
||||
// GetSysConfigBySysApp 获取系统配置信息,主要注意这里不在验证数据权限
|
||||
func (e *SysConfig) GetSysConfigBySysApp(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysConfig) GetSysConfigBySysApp(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
d := new(dto.SysConfigSearch)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -59,7 +61,7 @@ func (e *SysConfig) GetSysConfigBySysApp(c *gin.Context) {
|
||||
err = d.Bind(c)
|
||||
if err != nil {
|
||||
log.Errorf("参数验证失败, error:%s", err)
|
||||
e.Error(c, 500, err, "参数验证失败")
|
||||
e.Error(500, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -73,7 +75,7 @@ func (e *SysConfig) GetSysConfigBySysApp(c *gin.Context) {
|
||||
err = s.GetSysConfigByKey(d, &list)
|
||||
if err != nil {
|
||||
log.Errorf("GetSysConfigPage 查询失败, error:%s", err)
|
||||
e.Error(c, 500, err, "查询失败")
|
||||
e.Error(500, err, "查询失败")
|
||||
return
|
||||
}
|
||||
mp := make(map[string]string)
|
||||
@@ -83,13 +85,14 @@ func (e *SysConfig) GetSysConfigBySysApp(c *gin.Context) {
|
||||
mp[key] = list[i].ConfigValue
|
||||
}
|
||||
}
|
||||
e.OK(c, mp, "查询成功")
|
||||
e.OK(mp, "查询成功")
|
||||
}
|
||||
|
||||
func (e *SysConfig) GetSysConfig(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysConfig) GetSysConfig(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysConfigById)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -97,9 +100,9 @@ func (e *SysConfig) GetSysConfig(c *gin.Context) {
|
||||
//查看详情
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
log.Errorf("Orm获取失败, error:%s", err)
|
||||
e.Error(c, 500, err, "Orm获取失败")
|
||||
e.Error(500, err, "Orm获取失败")
|
||||
return
|
||||
}
|
||||
var object system.SysConfig
|
||||
@@ -109,19 +112,20 @@ func (e *SysConfig) GetSysConfig(c *gin.Context) {
|
||||
serviceSysLoginLog.Orm = db
|
||||
err = serviceSysLoginLog.GetSysConfig(control, &object)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
log.Errorf("Orm获取失败, error:%s", err)
|
||||
e.Error(c, 500, err, "Orm获取失败")
|
||||
e.Error(500, err, "Orm获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object, "查看成功")
|
||||
e.OK(object, "查看成功")
|
||||
}
|
||||
|
||||
func (e *SysConfig) InsertSysConfig(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysConfig) InsertSysConfig(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysConfigControl)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -130,16 +134,16 @@ func (e *SysConfig) InsertSysConfig(c *gin.Context) {
|
||||
//新增操作
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
log.Errorf("Orm获取失败, error:%s", err)
|
||||
e.Error(c, 500, err, "Orm获取失败")
|
||||
e.Error(500, err, "Orm获取失败")
|
||||
return
|
||||
}
|
||||
object, err := control.Generate()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
log.Errorf("Orm获取失败, error:%s", err)
|
||||
e.Error(c, 500, err, "Orm获取失败")
|
||||
e.Error(500, err, "Orm获取失败")
|
||||
return
|
||||
}
|
||||
// 设置创建人
|
||||
@@ -151,19 +155,20 @@ func (e *SysConfig) InsertSysConfig(c *gin.Context) {
|
||||
err = serviceSysLoginLog.InsertSysConfig(object)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "创建失败")
|
||||
e.Error(http.StatusInternalServerError, err, "创建失败")
|
||||
log.Errorf("Orm获取失败, error:%s", err)
|
||||
e.Error(c, 500, err, "Orm获取失败")
|
||||
e.Error(500, err, "Orm获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object.GetId(), "创建成功")
|
||||
e.OK(object.GetId(), "创建成功")
|
||||
}
|
||||
|
||||
func (e *SysConfig) UpdateSysConfig(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysConfig) UpdateSysConfig(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysConfigControl)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -173,16 +178,16 @@ func (e *SysConfig) UpdateSysConfig(c *gin.Context) {
|
||||
err = control.Bind(c)
|
||||
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
log.Errorf("Orm获取失败, error:%s", err)
|
||||
e.Error(c, 500, err, "Orm获取失败")
|
||||
e.Error(500, err, "Orm获取失败")
|
||||
return
|
||||
}
|
||||
object, err := control.Generate()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
log.Errorf("Orm获取失败, error:%s", err)
|
||||
e.Error(c, 500, err, "Orm获取失败")
|
||||
e.Error(500, err, "Orm获取失败")
|
||||
return
|
||||
}
|
||||
object.SetUpdateBy(user.GetUserId(c))
|
||||
@@ -192,18 +197,19 @@ func (e *SysConfig) UpdateSysConfig(c *gin.Context) {
|
||||
serviceSysLoginLog.Log = log
|
||||
err = serviceSysLoginLog.UpdateSysConfig(object)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "更新失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "更新失败")
|
||||
log.Errorf("Orm获取失败, error:%s", err)
|
||||
e.Error(c, 500, err, "Orm获取失败")
|
||||
e.Error(500, err, "Orm获取失败")
|
||||
return
|
||||
}
|
||||
e.OK(c, object.GetId(), "更新成功")
|
||||
e.OK(object.GetId(), "更新成功")
|
||||
}
|
||||
|
||||
func (e *SysConfig) DeleteSysConfig(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysConfig) DeleteSysConfig(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysConfigById)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -213,16 +219,16 @@ func (e *SysConfig) DeleteSysConfig(c *gin.Context) {
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
log.Errorf("Bind error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
log.Errorf("Orm获取失败, error:%s", err)
|
||||
e.Error(c, 500, err, "Orm获取失败")
|
||||
e.Error(500, err, "Orm获取失败")
|
||||
return
|
||||
}
|
||||
object, err := control.GenerateM()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
log.Errorf("Orm获取失败, error:%s", err)
|
||||
e.Error(c, 500, err, "Orm获取失败")
|
||||
e.Error(500, err, "Orm获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -234,18 +240,19 @@ func (e *SysConfig) DeleteSysConfig(c *gin.Context) {
|
||||
serviceSysLoginLog.Log = log
|
||||
err = serviceSysLoginLog.RemoveSysConfig(control, object)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "删除失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "删除失败")
|
||||
log.Errorf("Orm获取失败, error:%s", err)
|
||||
e.Error(c, 500, err, "Orm获取失败")
|
||||
e.Error(500, err, "Orm获取失败")
|
||||
return
|
||||
}
|
||||
e.OK(c, object.GetId(), "删除成功")
|
||||
e.OK(object.GetId(), "删除成功")
|
||||
}
|
||||
|
||||
// GetSysConfigByKEYForService 根据Key获取SysConfig的Service
|
||||
func (e *SysConfig) GetSysConfigByKEYForService(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysConfig) GetSysConfigByKEYForService(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -254,7 +261,7 @@ func (e *SysConfig) GetSysConfigByKEYForService(c *gin.Context) {
|
||||
err = v.Bind(c)
|
||||
if err != nil {
|
||||
log.Errorf("参数验证错误, error:%s", err)
|
||||
e.Error(c, 422, err, "参数验证失败")
|
||||
e.Error(422, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
s := service.SysConfig{}
|
||||
@@ -263,8 +270,8 @@ func (e *SysConfig) GetSysConfigByKEYForService(c *gin.Context) {
|
||||
err = s.GetSysConfigByKEY(&v)
|
||||
if err != nil {
|
||||
log.Errorf("通过Key获取配置失败, error:%s", err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
e.OK(c, v, s.Msg)
|
||||
e.OK(v, s.Msg)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package sys_dept
|
||||
|
||||
import (
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg"
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
@@ -26,10 +27,11 @@ type SysDept struct {
|
||||
// @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/dept [get]
|
||||
// @Security Bearer
|
||||
func (e *SysDept) GetSysDeptList(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysDept) GetSysDeptList(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
d := new(dto.SysDeptSearch)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -38,7 +40,7 @@ func (e *SysDept) GetSysDeptList(c *gin.Context) {
|
||||
//查询列表
|
||||
err = d.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -48,11 +50,11 @@ func (e *SysDept) GetSysDeptList(c *gin.Context) {
|
||||
serviceStudent.Orm = db
|
||||
list, err = serviceStudent.SetDeptPage(d)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, list, "查询成功")
|
||||
e.OK(list, "查询成功")
|
||||
}
|
||||
|
||||
// @Summary 部门列表数据
|
||||
@@ -63,10 +65,11 @@ func (e *SysDept) GetSysDeptList(c *gin.Context) {
|
||||
// @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/dept/{deptId} [get]
|
||||
// @Security Bearer
|
||||
func (e *SysDept) GetSysDept(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysDept) GetSysDept(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysDeptById)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -75,7 +78,7 @@ func (e *SysDept) GetSysDept(c *gin.Context) {
|
||||
//查看详情
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
var object system.SysDept
|
||||
@@ -85,11 +88,11 @@ func (e *SysDept) GetSysDept(c *gin.Context) {
|
||||
serviceSysOperlog.Orm = db
|
||||
err = serviceSysOperlog.GetSysDept(control, &object)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object, "查看成功")
|
||||
e.OK(object, "查看成功")
|
||||
}
|
||||
|
||||
// @Summary 添加部门
|
||||
@@ -102,10 +105,11 @@ func (e *SysDept) GetSysDept(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
// @Router /api/v1/dept [post]
|
||||
// @Security Bearer
|
||||
func (e *SysDept) InsertSysDept(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysDept) InsertSysDept(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysDeptControl)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -114,12 +118,12 @@ func (e *SysDept) InsertSysDept(c *gin.Context) {
|
||||
//新增操作
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, err := control.Generate()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
// 设置创建人
|
||||
@@ -131,11 +135,11 @@ func (e *SysDept) InsertSysDept(c *gin.Context) {
|
||||
err = serviceSysDept.InsertSysDept(object)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "创建失败")
|
||||
e.Error(http.StatusInternalServerError, err, "创建失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object.GetId(), "创建成功")
|
||||
e.OK(object.GetId(), "创建成功")
|
||||
}
|
||||
|
||||
// @Summary 修改部门
|
||||
@@ -149,10 +153,11 @@ func (e *SysDept) InsertSysDept(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
// @Router /api/v1/dept/{deptId} [put]
|
||||
// @Security Bearer
|
||||
func (e *SysDept) UpdateSysDept(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysDept) UpdateSysDept(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysDeptControl)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -161,12 +166,12 @@ func (e *SysDept) UpdateSysDept(c *gin.Context) {
|
||||
//更新操作
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, err := control.Generate()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
object.SetUpdateBy(user.GetUserId(c))
|
||||
@@ -179,7 +184,7 @@ func (e *SysDept) UpdateSysDept(c *gin.Context) {
|
||||
log.Error(err)
|
||||
return
|
||||
}
|
||||
e.OK(c, object.GetId(), "更新成功")
|
||||
e.OK(object.GetId(), "更新成功")
|
||||
}
|
||||
|
||||
// @Summary 删除部门
|
||||
@@ -189,10 +194,11 @@ func (e *SysDept) UpdateSysDept(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": 200, "message": "删除成功"}"
|
||||
// @Success 200 {string} string "{"code": -1, "message": "删除失败"}"
|
||||
// @Router /api/v1/dept [delete]
|
||||
func (e *SysDept) DeleteSysDept(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysDept) DeleteSysDept(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysDeptById)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -202,7 +208,7 @@ func (e *SysDept) DeleteSysDept(c *gin.Context) {
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
log.Errorf("Bind error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -212,17 +218,18 @@ func (e *SysDept) DeleteSysDept(c *gin.Context) {
|
||||
err = serviceSysDept.RemoveSysDept(control)
|
||||
if err != nil {
|
||||
log.Errorf("RemoveSysDept error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "删除失败")
|
||||
e.Error(http.StatusInternalServerError, err, "删除失败")
|
||||
return
|
||||
}
|
||||
e.OK(c, control.GetId(), "删除成功")
|
||||
e.OK(control.GetId(), "删除成功")
|
||||
}
|
||||
|
||||
// GetDeptTree 用户管理 左侧部门树
|
||||
func (e *SysDept) GetDeptTree(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysDept) GetDeptTree(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
d := new(dto.SysDeptSearch)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -231,7 +238,7 @@ func (e *SysDept) GetDeptTree(c *gin.Context) {
|
||||
//查询列表
|
||||
err = d.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -241,7 +248,7 @@ func (e *SysDept) GetDeptTree(c *gin.Context) {
|
||||
serviceStudent.Orm = db
|
||||
list, err = serviceStudent.SetDeptTree(d)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -251,33 +258,37 @@ func (e *SysDept) GetDeptTree(c *gin.Context) {
|
||||
//Dept.DeptId, _ = tools.StringToInt(c.Request.FormValue("deptId"))
|
||||
//result, err := Dept.SetDept(false)
|
||||
//tools.HasError(err, "抱歉未找到相关信息", -1)
|
||||
e.OK(c, list, "")
|
||||
e.OK(list, "")
|
||||
}
|
||||
|
||||
//func (e *SysDept) GetDeptTreeRoleSelect(c *gin.Context) {
|
||||
// log := e.GetLogger(c)
|
||||
// db, err := tools.GetOrm(c)
|
||||
// if err != nil {
|
||||
// log.Error(err)
|
||||
// return
|
||||
// }
|
||||
//
|
||||
// s := service.SysDept{}
|
||||
// s.Orm = db
|
||||
// s.MsgID = msgID
|
||||
// id, err := tools.StringToInt(c.Param("roleId"))
|
||||
// result, err := s.SetDeptLabel()
|
||||
// if err != nil {
|
||||
// log.Errorf("SetDeptLabel error, %s", msgID, err.Error())
|
||||
// e.Error(c, http.StatusInternalServerError, err, "")
|
||||
// }
|
||||
// menuIds := make([]int, 0)
|
||||
// if id != 0 {
|
||||
// menuIds, err = s.GetRoleDeptId(id)
|
||||
// tools.HasError(err, "抱歉未找到相关信息", -1)
|
||||
// }
|
||||
// e.OK(c, gin.H{
|
||||
// "depts": result,
|
||||
// "checkedKeys": menuIds,
|
||||
// }, "")
|
||||
//}
|
||||
func (e SysDept) GetDeptTreeRoleSelect(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
}
|
||||
|
||||
s := service.SysDept{}
|
||||
s.Orm = db
|
||||
s.Log = log
|
||||
id, err := pkg.StringToInt(c.Param("roleId"))
|
||||
result, err := s.SetDeptLabel()
|
||||
if err != nil {
|
||||
log.Errorf("SetDeptLabel error, %s", err.Error())
|
||||
e.Error(http.StatusInternalServerError, err, "")
|
||||
}
|
||||
menuIds := make([]int, 0)
|
||||
if id != 0 {
|
||||
menuIds, err = s.GetRoleDeptId(id)
|
||||
if err != nil {
|
||||
log.Errorf("抱歉未找到相关信息, %s", err.Error())
|
||||
e.Error(http.StatusInternalServerError, err, "")
|
||||
}
|
||||
}
|
||||
e.OK(gin.H{
|
||||
"depts": result,
|
||||
"checkedKeys": menuIds,
|
||||
}, "")
|
||||
}
|
||||
|
||||
@@ -16,10 +16,11 @@ type SysLoginLog struct {
|
||||
apis.Api
|
||||
}
|
||||
|
||||
func (e *SysLoginLog) GetSysLoginLogList(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysLoginLog) GetSysLoginLogList(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
d := new(dto.SysLoginLogSearch)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -28,7 +29,7 @@ func (e *SysLoginLog) GetSysLoginLogList(c *gin.Context) {
|
||||
//查询列表
|
||||
err = d.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -39,17 +40,18 @@ func (e *SysLoginLog) GetSysLoginLogList(c *gin.Context) {
|
||||
serviceStudent.Orm = db
|
||||
err = serviceStudent.GetSysLoginLogPage(d, &list, &count)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.PageOK(c, list, int(count), d.GetPageIndex(), d.GetPageSize(), "查询成功")
|
||||
e.PageOK(list, int(count), d.GetPageIndex(), d.GetPageSize(), "查询成功")
|
||||
}
|
||||
|
||||
func (e *SysLoginLog) GetSysLoginLog(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysLoginLog) GetSysLoginLog(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysLoginLogById)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -58,7 +60,7 @@ func (e *SysLoginLog) GetSysLoginLog(c *gin.Context) {
|
||||
//查看详情
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
var object system.SysLoginLog
|
||||
@@ -68,17 +70,18 @@ func (e *SysLoginLog) GetSysLoginLog(c *gin.Context) {
|
||||
serviceSysLoginLog.Orm = db
|
||||
err = serviceSysLoginLog.GetSysLoginLog(control, &object)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object, "查看成功")
|
||||
e.OK(object, "查看成功")
|
||||
}
|
||||
|
||||
func (e *SysLoginLog) InsertSysLoginLog(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysLoginLog) InsertSysLoginLog(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysLoginLogControl)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -87,12 +90,12 @@ func (e *SysLoginLog) InsertSysLoginLog(c *gin.Context) {
|
||||
//新增操作
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, err := control.Generate()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
// 设置创建人
|
||||
@@ -104,17 +107,18 @@ func (e *SysLoginLog) InsertSysLoginLog(c *gin.Context) {
|
||||
err = serviceSysLoginLog.InsertSysLoginLog(object)
|
||||
if err != nil {
|
||||
log.Errorf("InsertSysLoginLog error, %s", err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "创建失败")
|
||||
e.Error(http.StatusInternalServerError, err, "创建失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object.GetId(), "创建成功")
|
||||
e.OK(object.GetId(), "创建成功")
|
||||
}
|
||||
|
||||
func (e *SysLoginLog) UpdateSysLoginLog(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysLoginLog) UpdateSysLoginLog(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysLoginLogControl)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -123,12 +127,12 @@ func (e *SysLoginLog) UpdateSysLoginLog(c *gin.Context) {
|
||||
//更新操作
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, err := control.Generate()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
object.SetUpdateBy(user.GetUserId(c))
|
||||
@@ -139,16 +143,17 @@ func (e *SysLoginLog) UpdateSysLoginLog(c *gin.Context) {
|
||||
err = serviceSysLoginLog.UpdateSysLoginLog(object)
|
||||
if err != nil {
|
||||
log.Errorf("UpdateSysLoginLog error, %s", err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "更新失败")
|
||||
e.Error(http.StatusInternalServerError, err, "更新失败")
|
||||
return
|
||||
}
|
||||
e.OK(c, object.GetId(), "更新成功")
|
||||
e.OK(object.GetId(), "更新成功")
|
||||
}
|
||||
|
||||
func (e *SysLoginLog) DeleteSysLoginLog(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysLoginLog) DeleteSysLoginLog(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysLoginLogById)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -158,12 +163,12 @@ func (e *SysLoginLog) DeleteSysLoginLog(c *gin.Context) {
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
log.Errorf("Bind error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, err := control.GenerateM()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -176,8 +181,8 @@ func (e *SysLoginLog) DeleteSysLoginLog(c *gin.Context) {
|
||||
err = serviceSysLoginLog.RemoveSysLoginLog(control, object)
|
||||
if err != nil {
|
||||
log.Errorf("RemoveSysLoginLog error, %s", err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "删除失败")
|
||||
e.Error(http.StatusInternalServerError, err, "删除失败")
|
||||
return
|
||||
}
|
||||
e.OK(c, object.GetId(), "删除成功")
|
||||
e.OK(object.GetId(), "删除成功")
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth/user"
|
||||
|
||||
"go-admin/app/admin/models"
|
||||
"go-admin/app/admin/models/system"
|
||||
"go-admin/app/admin/service"
|
||||
"go-admin/app/admin/service/dto"
|
||||
@@ -25,10 +24,11 @@ type SysMenu struct {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}"
|
||||
// @Router /api/v1/menulist [get]
|
||||
// @Security Bearer
|
||||
func (e *SysMenu) GetSysMenuList(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysMenu) GetSysMenuList(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
d := new(dto.SysMenuSearch)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -37,7 +37,7 @@ func (e *SysMenu) GetSysMenuList(c *gin.Context) {
|
||||
//查询列表
|
||||
err = d.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -47,11 +47,11 @@ func (e *SysMenu) GetSysMenuList(c *gin.Context) {
|
||||
serviceSysMenu.Orm = db
|
||||
list, err = serviceSysMenu.GetSysMenuPage(d)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, list, "查询成功")
|
||||
e.OK(list, "查询成功")
|
||||
}
|
||||
|
||||
// @Summary Menu详情数据
|
||||
@@ -62,12 +62,13 @@ func (e *SysMenu) GetSysMenuList(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}"
|
||||
// @Router /api/v1/menu/{id} [get]
|
||||
// @Security Bearer
|
||||
func (e *SysMenu) GetSysMenu(c *gin.Context) {
|
||||
func (e SysMenu) GetSysMenu(c *gin.Context) {
|
||||
control := new(dto.SysMenuById)
|
||||
|
||||
log := e.GetLogger(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -76,7 +77,7 @@ func (e *SysMenu) GetSysMenu(c *gin.Context) {
|
||||
//查看详情
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
var object system.SysMenu
|
||||
@@ -86,11 +87,11 @@ func (e *SysMenu) GetSysMenu(c *gin.Context) {
|
||||
serviceSysMenu.Orm = db
|
||||
err = serviceSysMenu.GetSysMenu(control, &object)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object, "查看成功")
|
||||
e.OK(object, "查看成功")
|
||||
}
|
||||
|
||||
// @Summary 创建菜单
|
||||
@@ -108,12 +109,13 @@ func (e *SysMenu) GetSysMenu(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
// @Router /api/v1/menu [post]
|
||||
// @Security Bearer
|
||||
func (e *SysMenu) InsertSysMenu(c *gin.Context) {
|
||||
func (e SysMenu) InsertSysMenu(c *gin.Context) {
|
||||
control := new(dto.SysMenuControl)
|
||||
|
||||
log := e.GetLogger(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -122,12 +124,12 @@ func (e *SysMenu) InsertSysMenu(c *gin.Context) {
|
||||
//新增操作
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, err := control.Generate()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
// 设置创建人
|
||||
@@ -139,11 +141,11 @@ func (e *SysMenu) InsertSysMenu(c *gin.Context) {
|
||||
err = serviceSysMenu.InsertSysMenu(object)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "创建失败")
|
||||
e.Error(http.StatusInternalServerError, err, "创建失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object.GetId(), "创建成功")
|
||||
e.OK(object.GetId(), "创建成功")
|
||||
}
|
||||
|
||||
// @Summary 修改菜单
|
||||
@@ -157,12 +159,13 @@ func (e *SysMenu) InsertSysMenu(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "修改失败"}"
|
||||
// @Router /api/v1/menu/{id} [put]
|
||||
// @Security Bearer
|
||||
func (e *SysMenu) UpdateSysMenu(c *gin.Context) {
|
||||
func (e SysMenu) UpdateSysMenu(c *gin.Context) {
|
||||
control := new(dto.SysMenuControl)
|
||||
|
||||
log := e.GetLogger(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -171,12 +174,12 @@ func (e *SysMenu) UpdateSysMenu(c *gin.Context) {
|
||||
//更新操作
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, err := control.Generate()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
object.SetUpdateBy(user.GetUserId(c))
|
||||
@@ -189,7 +192,7 @@ func (e *SysMenu) UpdateSysMenu(c *gin.Context) {
|
||||
log.Error(err)
|
||||
return
|
||||
}
|
||||
e.OK(c, object.GetId(), "更新成功")
|
||||
e.OK(object.GetId(), "更新成功")
|
||||
}
|
||||
|
||||
// @Summary 删除菜单
|
||||
@@ -199,12 +202,13 @@ func (e *SysMenu) UpdateSysMenu(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": 200, "message": "删除成功"}"
|
||||
// @Success 200 {string} string "{"code": -1, "message": "删除失败"}"
|
||||
// @Router /api/v1/menu/ [delete]
|
||||
func (e *SysMenu) DeleteSysMenu(c *gin.Context) {
|
||||
func (e SysMenu) DeleteSysMenu(c *gin.Context) {
|
||||
control := new(dto.SysMenuById)
|
||||
|
||||
log := e.GetLogger(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -214,7 +218,7 @@ func (e *SysMenu) DeleteSysMenu(c *gin.Context) {
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
log.Errorf("Bind error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -224,10 +228,10 @@ func (e *SysMenu) DeleteSysMenu(c *gin.Context) {
|
||||
err = serviceSysMenu.RemoveSysMenu(control)
|
||||
if err != nil {
|
||||
log.Errorf("RemoveSysMenu error, %s", err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "删除失败")
|
||||
e.Error(http.StatusInternalServerError, err, "删除失败")
|
||||
return
|
||||
}
|
||||
e.OK(c, control.GetId(), "删除成功")
|
||||
e.OK(control.GetId(), "删除成功")
|
||||
}
|
||||
|
||||
// @Summary 根据角色名称获取菜单列表数据(左菜单使用)
|
||||
@@ -238,9 +242,10 @@ func (e *SysMenu) DeleteSysMenu(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}"
|
||||
// @Router /api/v1/menurole [get]
|
||||
// @Security Bearer
|
||||
func (e *SysMenu) GetMenuRole(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysMenu) GetMenuRole(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -252,11 +257,11 @@ func (e *SysMenu) GetMenuRole(c *gin.Context) {
|
||||
result, err := serviceSysMenu.SetMenuRole(user.GetRoleName(c))
|
||||
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "查询失败")
|
||||
e.Error(http.StatusInternalServerError, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, result, "")
|
||||
e.OK(result, "")
|
||||
}
|
||||
|
||||
// @Summary 获取角色对应的菜单id数组
|
||||
@@ -267,27 +272,28 @@ func (e *SysMenu) GetMenuRole(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}"
|
||||
// @Router /api/v1/menuids/{id} [get]
|
||||
// @Security Bearer
|
||||
func (e *SysMenu) GetMenuIDS(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysMenu) GetMenuIDS(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
}
|
||||
var data models.RoleMenu
|
||||
var data system.RoleMenu
|
||||
data.RoleName = c.GetString("role")
|
||||
data.UpdateBy = user.GetUserIdStr(c)
|
||||
data.UpdateBy = user.GetUserId(c)
|
||||
result, err := data.GetIDS(db)
|
||||
if err != nil {
|
||||
log.Errorf("GetIDS error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "获取失败")
|
||||
e.Error(http.StatusInternalServerError, err, "获取失败")
|
||||
return
|
||||
}
|
||||
e.OK(c, result, "")
|
||||
e.OK(result, "")
|
||||
}
|
||||
|
||||
//// GetMenuTreeRoleselect 角色修改中的菜单列表
|
||||
//func (e *SysMenu) GetMenuTreeRoleselect(c *gin.Context) {
|
||||
//func (e SysMenu) GetMenuTreeRoleselect(c *gin.Context) {
|
||||
// var Menu models.Menu
|
||||
// var SysRole models.SysRole
|
||||
//
|
||||
@@ -322,9 +328,10 @@ func (e *SysMenu) GetMenuIDS(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
// @Router /api/v1/menuTreeselect [get]
|
||||
// @Security Bearer
|
||||
func (e *SysMenu) GetMenuTreeSelect(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
func (e SysMenu) GetMenuTreeSelect(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -334,7 +341,7 @@ func (e *SysMenu) GetMenuTreeSelect(c *gin.Context) {
|
||||
|
||||
err = c.BindUri(d)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -343,7 +350,7 @@ func (e *SysMenu) GetMenuTreeSelect(c *gin.Context) {
|
||||
serviceSysMenu.Orm = db
|
||||
result, err := serviceSysMenu.SetSysMenuLabel()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
s := service.SysRole{}
|
||||
@@ -352,10 +359,10 @@ func (e *SysMenu) GetMenuTreeSelect(c *gin.Context) {
|
||||
menuIds, err := s.GetRoleMenuId(db, d.RoleId)
|
||||
if err != nil {
|
||||
log.Errorf("GetIDS error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "")
|
||||
e.Error(http.StatusInternalServerError, err, "")
|
||||
return
|
||||
}
|
||||
e.OK(c, gin.H{
|
||||
e.OK(gin.H{
|
||||
"menus": result,
|
||||
"checkedKeys": menuIds,
|
||||
}, "获取成功")
|
||||
|
||||
@@ -16,10 +16,11 @@ type SysOperaLog struct {
|
||||
apis.Api
|
||||
}
|
||||
|
||||
func (e *SysOperaLog) GetSysOperaLogList(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysOperaLog) GetSysOperaLogList(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
d := new(dto.SysOperaLogSearch)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -28,7 +29,7 @@ func (e *SysOperaLog) GetSysOperaLogList(c *gin.Context) {
|
||||
//查询列表
|
||||
err = d.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -39,17 +40,18 @@ func (e *SysOperaLog) GetSysOperaLogList(c *gin.Context) {
|
||||
serviceStudent.Orm = db
|
||||
err = serviceStudent.GetSysOperaLogPage(d, &list, &count)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.PageOK(c, list, int(count), d.GetPageIndex(), d.GetPageSize(), "查询成功")
|
||||
e.PageOK(list, int(count), d.GetPageIndex(), d.GetPageSize(), "查询成功")
|
||||
}
|
||||
|
||||
func (e *SysOperaLog) GetSysOperaLog(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysOperaLog) GetSysOperaLog(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysOperaLogById)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -58,7 +60,7 @@ func (e *SysOperaLog) GetSysOperaLog(c *gin.Context) {
|
||||
//查看详情
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
var object system.SysOperaLog
|
||||
@@ -68,17 +70,18 @@ func (e *SysOperaLog) GetSysOperaLog(c *gin.Context) {
|
||||
serviceSysOperlog.Orm = db
|
||||
err = serviceSysOperlog.GetSysOperaLog(control, &object)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object, "查看成功")
|
||||
e.OK(object, "查看成功")
|
||||
}
|
||||
|
||||
func (e *SysOperaLog) InsertSysOperaLog(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysOperaLog) InsertSysOperaLog(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysOperaLogControl)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -87,12 +90,12 @@ func (e *SysOperaLog) InsertSysOperaLog(c *gin.Context) {
|
||||
//新增操作
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, err := control.Generate()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
// 设置创建人
|
||||
@@ -104,17 +107,18 @@ func (e *SysOperaLog) InsertSysOperaLog(c *gin.Context) {
|
||||
err = serviceSysOperaLog.InsertSysOperaLog(object)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "创建失败")
|
||||
e.Error(http.StatusInternalServerError, err, "创建失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object.GetId(), "创建成功")
|
||||
e.OK(object.GetId(), "创建成功")
|
||||
}
|
||||
|
||||
func (e *SysOperaLog) UpdateSysOperaLog(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysOperaLog) UpdateSysOperaLog(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysOperaLogControl)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -123,12 +127,12 @@ func (e *SysOperaLog) UpdateSysOperaLog(c *gin.Context) {
|
||||
//更新操作
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, err := control.Generate()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
object.SetUpdateBy(user.GetUserId(c))
|
||||
@@ -141,13 +145,14 @@ func (e *SysOperaLog) UpdateSysOperaLog(c *gin.Context) {
|
||||
log.Error(err)
|
||||
return
|
||||
}
|
||||
e.OK(c, object.GetId(), "更新成功")
|
||||
e.OK(object.GetId(), "更新成功")
|
||||
}
|
||||
|
||||
func (e *SysOperaLog) DeleteSysOperaLog(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysOperaLog) DeleteSysOperaLog(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysOperaLogById)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -157,7 +162,7 @@ func (e *SysOperaLog) DeleteSysOperaLog(c *gin.Context) {
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
log.Errorf("Bind error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -169,5 +174,5 @@ func (e *SysOperaLog) DeleteSysOperaLog(c *gin.Context) {
|
||||
log.Error(err)
|
||||
return
|
||||
}
|
||||
e.OK(c, control.GetId(), "删除成功")
|
||||
e.OK(control.GetId(), "删除成功")
|
||||
}
|
||||
|
||||
@@ -27,10 +27,11 @@ type SysPost struct {
|
||||
// @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/post [get]
|
||||
// @Security Bearer
|
||||
func (e *SysPost) GetSysPostList(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysPost) GetSysPostList(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
d := new(dto.SysPostSearch)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -39,7 +40,7 @@ func (e *SysPost) GetSysPostList(c *gin.Context) {
|
||||
//查询列表
|
||||
err = d.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -50,11 +51,11 @@ func (e *SysPost) GetSysPostList(c *gin.Context) {
|
||||
serviceStudent.Orm = db
|
||||
err = serviceStudent.GetSysPostPage(d, &list, &count)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.PageOK(c, list, int(count), d.GetPageIndex(), d.GetPageSize(), "查询成功")
|
||||
e.PageOK(list, int(count), d.GetPageIndex(), d.GetPageSize(), "查询成功")
|
||||
}
|
||||
|
||||
// @Summary 获取岗位信息
|
||||
@@ -64,10 +65,11 @@ func (e *SysPost) GetSysPostList(c *gin.Context) {
|
||||
// @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/post/{postId} [get]
|
||||
// @Security Bearer
|
||||
func (e *SysPost) GetSysPost(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysPost) GetSysPost(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysPostById)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -76,7 +78,7 @@ func (e *SysPost) GetSysPost(c *gin.Context) {
|
||||
//查看详情
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
var object system.SysPost
|
||||
@@ -86,11 +88,11 @@ func (e *SysPost) GetSysPost(c *gin.Context) {
|
||||
serviceSysOperlog.Orm = db
|
||||
err = serviceSysOperlog.GetSysPost(control, &object)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object, "查看成功")
|
||||
e.OK(object, "查看成功")
|
||||
}
|
||||
|
||||
// @Summary 添加岗位
|
||||
@@ -103,10 +105,11 @@ func (e *SysPost) GetSysPost(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
// @Router /api/v1/post [post]
|
||||
// @Security Bearer
|
||||
func (e *SysPost) InsertSysPost(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysPost) InsertSysPost(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysPostControl)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -115,12 +118,12 @@ func (e *SysPost) InsertSysPost(c *gin.Context) {
|
||||
//新增操作
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, err := control.Generate()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
// 设置创建人
|
||||
@@ -132,11 +135,11 @@ func (e *SysPost) InsertSysPost(c *gin.Context) {
|
||||
err = serviceSysPost.InsertSysPost(object)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "创建失败")
|
||||
e.Error(http.StatusInternalServerError, err, "创建失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object.GetId(), "创建成功")
|
||||
e.OK(object.GetId(), "创建成功")
|
||||
}
|
||||
|
||||
// @Summary 修改岗位
|
||||
@@ -149,10 +152,11 @@ func (e *SysPost) InsertSysPost(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
// @Router /api/v1/post/ [put]
|
||||
// @Security Bearer
|
||||
func (e *SysPost) UpdateSysPost(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysPost) UpdateSysPost(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysPostControl)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -161,12 +165,12 @@ func (e *SysPost) UpdateSysPost(c *gin.Context) {
|
||||
//更新操作
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, err := control.Generate()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
object.SetUpdateBy(user.GetUserId(c))
|
||||
@@ -179,7 +183,7 @@ func (e *SysPost) UpdateSysPost(c *gin.Context) {
|
||||
log.Error(err)
|
||||
return
|
||||
}
|
||||
e.OK(c, object.GetId(), "更新成功")
|
||||
e.OK(object.GetId(), "更新成功")
|
||||
}
|
||||
|
||||
// @Summary 删除岗位
|
||||
@@ -189,10 +193,11 @@ func (e *SysPost) UpdateSysPost(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": 200, "message": "删除成功"}"
|
||||
// @Success 500 {string} string "{"code": 500, "message": "删除失败"}"
|
||||
// @Router /api/v1/post/{postId} [delete]
|
||||
func (e *SysPost) DeleteSysPost(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysPost) DeleteSysPost(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysPostById)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -202,7 +207,7 @@ func (e *SysPost) DeleteSysPost(c *gin.Context) {
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
log.Errorf("Bind error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -214,5 +219,5 @@ func (e *SysPost) DeleteSysPost(c *gin.Context) {
|
||||
log.Error(err)
|
||||
return
|
||||
}
|
||||
e.OK(c, control.GetId(), "删除成功")
|
||||
e.OK(control.GetId(), "删除成功")
|
||||
}
|
||||
|
||||
@@ -29,10 +29,11 @@ type SysRole struct {
|
||||
// @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/role [get]
|
||||
// @Security Bearer
|
||||
func (e *SysRole) GetSysRoleList(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysRole) GetSysRoleList(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
d := new(dto.SysRoleSearch)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -41,7 +42,7 @@ func (e *SysRole) GetSysRoleList(c *gin.Context) {
|
||||
//查询列表
|
||||
err = d.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -52,11 +53,11 @@ func (e *SysRole) GetSysRoleList(c *gin.Context) {
|
||||
s.Orm = db
|
||||
err = s.GetSysRolePage(d, &list, &count)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.PageOK(c, list, int(count), d.GetPageIndex(), d.GetPageSize(), "查询成功")
|
||||
e.PageOK(list, int(count), d.GetPageIndex(), d.GetPageSize(), "查询成功")
|
||||
}
|
||||
|
||||
// @Summary 获取Role数据
|
||||
@@ -67,10 +68,11 @@ func (e *SysRole) GetSysRoleList(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}"
|
||||
// @Router /api/v1/role/{id} [get]
|
||||
// @Security Bearer
|
||||
func (e *SysRole) GetSysRole(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysRole) GetSysRole(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysRoleById)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -79,7 +81,7 @@ func (e *SysRole) GetSysRole(c *gin.Context) {
|
||||
//查看详情
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
var object system.SysRole
|
||||
@@ -89,11 +91,11 @@ func (e *SysRole) GetSysRole(c *gin.Context) {
|
||||
s.Orm = db
|
||||
err = s.GetSysRole(control, &object)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, object, "查看成功")
|
||||
e.OK(object, "查看成功")
|
||||
}
|
||||
|
||||
// @Summary 创建角色
|
||||
@@ -106,10 +108,11 @@ func (e *SysRole) GetSysRole(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
// @Router /api/v1/role [post]
|
||||
// @Security Bearer
|
||||
func (e *SysRole) InsertSysRole(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysRole) InsertSysRole(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysRoleControl)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -118,12 +121,12 @@ func (e *SysRole) InsertSysRole(c *gin.Context) {
|
||||
//新增操作
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, err := control.Generate()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
// 设置创建人
|
||||
@@ -138,15 +141,15 @@ func (e *SysRole) InsertSysRole(c *gin.Context) {
|
||||
err = s.InsertSysRole(object)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "创建失败")
|
||||
e.Error(http.StatusInternalServerError, err, "创建失败")
|
||||
return
|
||||
}
|
||||
_, err = global.LoadPolicy(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "")
|
||||
e.Error(http.StatusInternalServerError, err, "")
|
||||
return
|
||||
}
|
||||
e.OK(c, object.GetId(), "创建成功")
|
||||
e.OK(object.GetId(), "创建成功")
|
||||
}
|
||||
|
||||
// @Summary 修改用户角色
|
||||
@@ -159,10 +162,11 @@ func (e *SysRole) InsertSysRole(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "修改失败"}"
|
||||
// @Router /api/v1/role/{id} [put]
|
||||
// @Security Bearer
|
||||
func (e *SysRole) UpdateSysRole(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysRole) UpdateSysRole(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysRoleControl)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -171,12 +175,12 @@ func (e *SysRole) UpdateSysRole(c *gin.Context) {
|
||||
//更新操作
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
object, err := control.Generate()
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
|
||||
e.Error(http.StatusInternalServerError, err, "模型生成失败")
|
||||
return
|
||||
}
|
||||
object.UpdateBy = user.GetUserId(c)
|
||||
@@ -191,10 +195,10 @@ func (e *SysRole) UpdateSysRole(c *gin.Context) {
|
||||
}
|
||||
_, err = global.LoadPolicy(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "")
|
||||
e.Error(http.StatusInternalServerError, err, "")
|
||||
return
|
||||
}
|
||||
e.OK(c, object.GetId(), "更新成功")
|
||||
e.OK(object.GetId(), "更新成功")
|
||||
}
|
||||
|
||||
// @Summary 删除用户角色
|
||||
@@ -205,10 +209,11 @@ func (e *SysRole) UpdateSysRole(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "删除失败"}"
|
||||
// @Router /api/v1/role [delete]
|
||||
// @Security Bearer
|
||||
func (e *SysRole) DeleteSysRole(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysRole) DeleteSysRole(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.SysRoleById)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -218,7 +223,7 @@ func (e *SysRole) DeleteSysRole(c *gin.Context) {
|
||||
err = control.Bind(c)
|
||||
if err != nil {
|
||||
log.Errorf("Bind error: %s", err)
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -228,21 +233,22 @@ func (e *SysRole) DeleteSysRole(c *gin.Context) {
|
||||
err = s.RemoveSysRole(control)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, http.StatusInternalServerError, err, "")
|
||||
e.Error(http.StatusInternalServerError, err, "")
|
||||
return
|
||||
}
|
||||
_, err = global.LoadPolicy(c)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "")
|
||||
e.Error(http.StatusInternalServerError, err, "")
|
||||
return
|
||||
}
|
||||
e.OK(c, control.GetId(), "删除成功")
|
||||
e.OK(control.GetId(), "删除成功")
|
||||
}
|
||||
|
||||
func (e *SysRole) UpdateRoleDataScope(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e SysRole) UpdateRoleDataScope(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
control := new(dto.RoleDataScopeReq)
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return
|
||||
@@ -252,7 +258,7 @@ func (e *SysRole) UpdateRoleDataScope(c *gin.Context) {
|
||||
err = c.Bind(control)
|
||||
if err != nil {
|
||||
log.Errorf("request bind error, %s", err.Error())
|
||||
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
|
||||
return
|
||||
}
|
||||
data := &system.SysRole{
|
||||
@@ -266,8 +272,8 @@ func (e *SysRole) UpdateRoleDataScope(c *gin.Context) {
|
||||
s.Log = log
|
||||
err = s.UpdateDataScope(data)
|
||||
if err != nil {
|
||||
e.Error(c, http.StatusInternalServerError, err, "")
|
||||
e.Error(http.StatusInternalServerError, err, "")
|
||||
return
|
||||
}
|
||||
e.OK(c, nil, "操作成功")
|
||||
e.OK(nil, "操作成功")
|
||||
}
|
||||
|
||||
@@ -19,7 +19,8 @@ import (
|
||||
// @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/db/columns/page [get]
|
||||
func (e *Gen) GetDBColumnList(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
var data tools.DBColumns
|
||||
var err error
|
||||
var pageSize = 10
|
||||
@@ -36,7 +37,7 @@ func (e *Gen) GetDBColumnList(c *gin.Context) {
|
||||
db, err := pkg.GetOrm(c)
|
||||
if err != nil {
|
||||
log.Errorf("get db connection error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
e.Error(http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -45,8 +46,8 @@ func (e *Gen) GetDBColumnList(c *gin.Context) {
|
||||
result, count, err := data.GetPage(db, pageSize, pageIndex)
|
||||
if err != nil {
|
||||
log.Errorf("GetPage error, %s", err.Error())
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
e.PageOK(c, result, count, pageIndex, pageSize, "查询成功")
|
||||
e.PageOK(result, count, pageIndex, pageSize, "查询成功")
|
||||
}
|
||||
|
||||
@@ -26,11 +26,12 @@ func (e *Gen) GetDBTableList(c *gin.Context) {
|
||||
var err error
|
||||
var pageSize = 10
|
||||
var pageIndex = 1
|
||||
log := e.GetLogger(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
if config.DatabaseConfig.Driver == "sqlite3" || config.DatabaseConfig.Driver == "postgres" {
|
||||
err = errors.New("对不起,sqlite3 或 postgres 不支持代码生成!")
|
||||
log.Warn(err)
|
||||
e.Error(c, 403, err, "")
|
||||
e.Error(403, err, "")
|
||||
//c.JSON(http.StatusOK, res.ReturnError(500))
|
||||
return
|
||||
}
|
||||
@@ -46,7 +47,7 @@ func (e *Gen) GetDBTableList(c *gin.Context) {
|
||||
db, err := pkg.GetOrm(c)
|
||||
if err != nil {
|
||||
log.Errorf("get db connection error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
e.Error(http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -54,8 +55,8 @@ func (e *Gen) GetDBTableList(c *gin.Context) {
|
||||
result, count, err := data.GetPage(db, pageSize, pageIndex)
|
||||
if err != nil {
|
||||
log.Errorf("GetPage error, %s", err.Error())
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
e.PageOK(c, result, count, pageIndex, pageSize, "查询成功")
|
||||
e.PageOK(result, count, pageIndex, pageSize, "查询成功")
|
||||
}
|
||||
|
||||
+53
-47
@@ -21,63 +21,64 @@ type Gen struct {
|
||||
apis.Api
|
||||
}
|
||||
|
||||
func (e *Gen) Preview(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e Gen) Preview(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
table := tools.SysTables{}
|
||||
id, err := pkg.StringToInt(c.Param("tableId"))
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
table.TableId = id
|
||||
t1, err := template.ParseFiles("template/v4/model.go.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
t2, err := template.ParseFiles("template/v4/no_actions/apis.go.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
t3, err := template.ParseFiles("template/v4/js.go.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
t4, err := template.ParseFiles("template/v4/vue.go.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
t5, err := template.ParseFiles("template/v4/no_actions/router_check_role.go.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
t6, err := template.ParseFiles("template/v4/dto.go.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
t7, err := template.ParseFiles("template/v4/no_actions/service.go.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
|
||||
db, err := pkg.GetOrm(c)
|
||||
if err != nil {
|
||||
log.Errorf("get db connection error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
e.Error(http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -105,23 +106,24 @@ func (e *Gen) Preview(c *gin.Context) {
|
||||
mp["template/router.go.template"] = b5.String()
|
||||
mp["template/dto.go.template"] = b6.String()
|
||||
mp["template/service.go.template"] = b7.String()
|
||||
e.OK(c, mp, "")
|
||||
e.OK(mp, "")
|
||||
}
|
||||
|
||||
func (e *Gen) GenCodeV3(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e Gen) GenCode(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
table := tools.SysTables{}
|
||||
id, err := pkg.StringToInt(c.Param("tableId"))
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
|
||||
db, err := pkg.GetOrm(c)
|
||||
if err != nil {
|
||||
log.Errorf("get db connection error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
e.Error(http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -129,28 +131,29 @@ func (e *Gen) GenCodeV3(c *gin.Context) {
|
||||
tab, _ := table.Get(db)
|
||||
|
||||
if tab.IsActions == 1 {
|
||||
e.ActionsGenV3(c, tab)
|
||||
e.ActionsGen(c, tab)
|
||||
} else {
|
||||
e.NOActionsGenV3(c, tab)
|
||||
e.NOActionsGen(c, tab)
|
||||
}
|
||||
|
||||
e.OK(c, "", "Code generated successfully!")
|
||||
e.OK("", "Code generated successfully!")
|
||||
}
|
||||
|
||||
func (e *Gen) GenApiToFile(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
func (e Gen) GenApiToFile(c *gin.Context) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
table := tools.SysTables{}
|
||||
id, err := pkg.StringToInt(c.Param("tableId"))
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
|
||||
db, err := pkg.GetOrm(c)
|
||||
if err != nil {
|
||||
log.Errorf("get db connection error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
e.Error(http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -158,11 +161,12 @@ func (e *Gen) GenApiToFile(c *gin.Context) {
|
||||
tab, _ := table.Get(db)
|
||||
e.genApiToFile(c, tab)
|
||||
|
||||
e.OK(c, "", "Code generated successfully!")
|
||||
e.OK("", "Code generated successfully!")
|
||||
}
|
||||
|
||||
func (e *Gen) NOActionsGenV3(c *gin.Context, tab tools.SysTables) {
|
||||
log := e.GetLogger(c)
|
||||
func (e Gen) NOActionsGen(c *gin.Context, tab tools.SysTables) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
|
||||
basePath := "template/v4/"
|
||||
routerFile := basePath + "no_actions/router_check_role.go.template"
|
||||
@@ -174,43 +178,43 @@ func (e *Gen) NOActionsGenV3(c *gin.Context, tab tools.SysTables) {
|
||||
t1, err := template.ParseFiles(basePath + "model.go.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
t2, err := template.ParseFiles(basePath + "no_actions/apis.go.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
t3, err := template.ParseFiles(routerFile)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
t4, err := template.ParseFiles(basePath + "js.go.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
t5, err := template.ParseFiles(basePath + "vue.go.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
t6, err := template.ParseFiles(basePath + "dto.go.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
t7, err := template.ParseFiles(basePath + "no_actions/service.go.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -245,15 +249,16 @@ func (e *Gen) NOActionsGenV3(c *gin.Context, tab tools.SysTables) {
|
||||
|
||||
}
|
||||
|
||||
func (e *Gen) genApiToFile(c *gin.Context, tab tools.SysTables) {
|
||||
log := e.GetLogger(c)
|
||||
func (e Gen) genApiToFile(c *gin.Context, tab tools.SysTables) {
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
|
||||
basePath := "template/"
|
||||
|
||||
t1, err := template.ParseFiles(basePath + "api_migrate.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
i := strconv.FormatInt(time.Now().UnixNano()/1e6, 10)
|
||||
@@ -263,11 +268,12 @@ func (e *Gen) genApiToFile(c *gin.Context, tab tools.SysTables) {
|
||||
GenerateTime string
|
||||
}{tab, i})
|
||||
|
||||
pkg.FileCreate(b1, "./cmd/migrate/migration/version/"+i+"_migrate.go")
|
||||
pkg.FileCreate(b1, "./cmd/migrate/migration/version-local/"+i+"_migrate.go")
|
||||
|
||||
}
|
||||
|
||||
func (e *Gen) ActionsGenV3(c *gin.Context, tab tools.SysTables) {
|
||||
func (e Gen) ActionsGen(c *gin.Context, tab tools.SysTables) {
|
||||
e.Context = c
|
||||
log := api.GetRequestLogger(c)
|
||||
basePath := "template/v4/"
|
||||
routerFile := basePath + "actions/router_check_role.go.template"
|
||||
@@ -279,31 +285,31 @@ func (e *Gen) ActionsGenV3(c *gin.Context, tab tools.SysTables) {
|
||||
t1, err := template.ParseFiles(basePath + "model.go.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
t3, err := template.ParseFiles(routerFile)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
t4, err := template.ParseFiles(basePath + "js.go.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
t5, err := template.ParseFiles(basePath + "vue.go.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
t6, err := template.ParseFiles(basePath + "dto.go.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -331,9 +337,9 @@ func (e *Gen) ActionsGenV3(c *gin.Context, tab tools.SysTables) {
|
||||
pkg.FileCreate(b6, "./app/"+tab.PackageName+"/service/dto/"+tab.BusinessName+".go")
|
||||
}
|
||||
|
||||
func (e *Gen) GenMenuAndApi(c *gin.Context) {
|
||||
func (e Gen) GenMenuAndApi(c *gin.Context) {
|
||||
log := api.GetRequestLogger(c)
|
||||
|
||||
e.Context = c
|
||||
table := tools.SysTables{}
|
||||
timeNow := pkg.GetCurrentTime()
|
||||
id, err := pkg.StringToInt(c.Param("tableId"))
|
||||
@@ -342,7 +348,7 @@ func (e *Gen) GenMenuAndApi(c *gin.Context) {
|
||||
db, err := pkg.GetOrm(c)
|
||||
if err != nil {
|
||||
log.Errorf("get db connection error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
e.Error(http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -572,5 +578,5 @@ func (e *Gen) GenMenuAndApi(c *gin.Context) {
|
||||
ADelete.UpdatedAt = timeNow
|
||||
ADelete.MenuId, err = ADelete.Create(db)
|
||||
|
||||
e.OK(c, "", "数据生成成功!")
|
||||
e.OK("", "数据生成成功!")
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth/user"
|
||||
_ "github.com/go-admin-team/go-admin-core/sdk/pkg/response"
|
||||
"gorm.io/gorm"
|
||||
|
||||
@@ -27,7 +26,8 @@ type SysTable struct {
|
||||
// @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/sys/tables/page [get]
|
||||
func (e *SysTable) GetSysTableList(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
var data tools.SysTables
|
||||
var err error
|
||||
var pageSize = 10
|
||||
@@ -41,10 +41,10 @@ func (e *SysTable) GetSysTableList(c *gin.Context) {
|
||||
pageIndex, err = pkg.StringToInt(index)
|
||||
}
|
||||
|
||||
db, err := e.GetOrm(c)
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Errorf("get db connection error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
e.Error(http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -53,10 +53,10 @@ func (e *SysTable) GetSysTableList(c *gin.Context) {
|
||||
result, count, err := data.GetPage(db, pageSize, pageIndex)
|
||||
if err != nil {
|
||||
log.Errorf("GetPage error, %s", err.Error())
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
e.PageOK(c, result, count, pageIndex, pageSize, "查询成功")
|
||||
e.PageOK(result, count, pageIndex, pageSize, "查询成功")
|
||||
}
|
||||
|
||||
// @Summary 获取配置
|
||||
@@ -67,11 +67,12 @@ func (e *SysTable) GetSysTableList(c *gin.Context) {
|
||||
// @Router /api/v1/sys/tables/info/{tableId} [get]
|
||||
// @Security Bearer
|
||||
func (e *SysTable) GetSysTables(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Errorf("get db connection error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
e.Error(http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -80,22 +81,23 @@ func (e *SysTable) GetSysTables(c *gin.Context) {
|
||||
result, err := data.Get(db)
|
||||
if err != nil {
|
||||
log.Errorf("Get error, %s", err.Error())
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
|
||||
mp := make(map[string]interface{})
|
||||
mp["list"] = result.Columns
|
||||
mp["info"] = result
|
||||
e.OK(c, mp, "")
|
||||
e.OK(mp, "")
|
||||
}
|
||||
|
||||
func (e *SysTable) GetSysTablesInfo(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Errorf("get db connection error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
e.Error(http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -106,24 +108,25 @@ func (e *SysTable) GetSysTablesInfo(c *gin.Context) {
|
||||
result, err := data.Get(db)
|
||||
if err != nil {
|
||||
log.Errorf("Get error, %s", err.Error())
|
||||
e.Error(c, 500, err, "抱歉未找到相关信息")
|
||||
e.Error(500, err, "抱歉未找到相关信息")
|
||||
return
|
||||
}
|
||||
|
||||
mp := make(map[string]interface{})
|
||||
mp["list"] = result.Columns
|
||||
mp["info"] = result
|
||||
e.OK(c, mp, "")
|
||||
e.OK(mp, "")
|
||||
//res.Data = mp
|
||||
//c.JSON(http.StatusOK, res.ReturnOK())
|
||||
}
|
||||
|
||||
func (e *SysTable) GetSysTablesTree(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Errorf("get db connection error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
e.Error(http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -131,11 +134,11 @@ func (e *SysTable) GetSysTablesTree(c *gin.Context) {
|
||||
result, err := data.GetTree(db)
|
||||
if err != nil {
|
||||
log.Errorf("GetTree error, %s", err.Error())
|
||||
e.Error(c, 500, err, "抱歉未找到相关信息")
|
||||
e.Error(500, err, "抱歉未找到相关信息")
|
||||
return
|
||||
}
|
||||
|
||||
e.OK(c, result, "")
|
||||
e.OK(result, "")
|
||||
}
|
||||
|
||||
// @Summary 添加表结构
|
||||
@@ -149,11 +152,12 @@ func (e *SysTable) GetSysTablesTree(c *gin.Context) {
|
||||
// @Router /api/v1/sys/tables/info [post]
|
||||
// @Security Bearer
|
||||
func (e *SysTable) InsertSysTable(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Errorf("get db connection error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
e.Error(http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -163,18 +167,18 @@ func (e *SysTable) InsertSysTable(c *gin.Context) {
|
||||
data, err := genTableInit(db, tablesList, i, c)
|
||||
if err != nil {
|
||||
log.Errorf("genTableInit error, %s", err.Error())
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
|
||||
_, err = data.Create(db)
|
||||
if err != nil {
|
||||
log.Errorf("Create error, %s", err.Error())
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
}
|
||||
e.OK(c, nil, "添加成功")
|
||||
e.OK(nil, "添加成功")
|
||||
|
||||
}
|
||||
|
||||
@@ -183,7 +187,7 @@ func genTableInit(tx *gorm.DB, tablesList []string, i int, c *gin.Context) (tool
|
||||
var dbTable tools.DBTables
|
||||
var dbColumn tools.DBColumns
|
||||
data.TBName = tablesList[i]
|
||||
data.CreateBy = user.GetUserIdStr(c)
|
||||
data.CreateBy = 0
|
||||
|
||||
dbTable.TableName = data.TBName
|
||||
dbtable, err := dbTable.Get(tx)
|
||||
@@ -205,7 +209,7 @@ func genTableInit(tx *gorm.DB, tablesList []string, i int, c *gin.Context) (tool
|
||||
data.Crud = true
|
||||
|
||||
dbcolumn, err := dbColumn.GetList(tx)
|
||||
data.CreateBy = user.GetUserIdStr(c)
|
||||
data.CreateBy = 0
|
||||
data.TableComment = dbtable.TableComment
|
||||
if dbtable.TableComment == "" {
|
||||
data.TableComment = data.ClassName
|
||||
@@ -296,22 +300,23 @@ func (e *SysTable) UpdateSysTable(c *gin.Context) {
|
||||
err := c.Bind(&data)
|
||||
pkg.HasError(err, "数据解析失败", 500)
|
||||
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Errorf("get db connection error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
e.Error(http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
data.UpdateBy = user.GetUserIdStr(c)
|
||||
data.UpdateBy = 0
|
||||
result, err := data.Update(db)
|
||||
if err != nil {
|
||||
log.Errorf("Update error, %s", err.Error())
|
||||
e.Error(c, 500, err, "")
|
||||
e.Error(500, err, "")
|
||||
return
|
||||
}
|
||||
e.OK(c, result, "修改成功")
|
||||
e.OK(result, "修改成功")
|
||||
}
|
||||
|
||||
// @Summary 删除表结构
|
||||
@@ -322,11 +327,12 @@ func (e *SysTable) UpdateSysTable(c *gin.Context) {
|
||||
// @Success 200 {string} string "{"code": -1, "message": "删除失败"}"
|
||||
// @Router /api/v1/sys/tables/info/{tableId} [delete]
|
||||
func (e *SysTable) DeleteSysTables(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
db, err := e.GetOrm(c)
|
||||
e.Context = c
|
||||
log := e.GetLogger()
|
||||
db, err := e.GetOrm()
|
||||
if err != nil {
|
||||
log.Errorf("get db connection error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
e.Error(http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -335,8 +341,8 @@ func (e *SysTable) DeleteSysTables(c *gin.Context) {
|
||||
_, err = data.BatchDelete(db, IDS)
|
||||
if err != nil {
|
||||
log.Errorf("BatchDelete error, %s", err.Error())
|
||||
e.Error(c, 500, err, "删除失败")
|
||||
e.Error(500, err, "删除失败")
|
||||
return
|
||||
}
|
||||
e.OK(c, nil, "删除成功")
|
||||
e.OK(nil, "删除成功")
|
||||
}
|
||||
|
||||
@@ -1,87 +0,0 @@
|
||||
package gorm
|
||||
|
||||
import (
|
||||
"go-admin/app/admin/models/system"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func InitData(db *gorm.DB) {
|
||||
|
||||
list := []system.CasbinRule{
|
||||
{"p", "admin", "/api/v1/menulist", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/menu", "POST", "", "", ""},
|
||||
{"p", "admin", "/api/v1/dict/databytype/", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/menu", "PUT", "", "", ""},
|
||||
{"p", "admin", "/api/v1/menu/:id", "DELETE", "", "", ""},
|
||||
{"p", "admin", "/api/v1/sysUserList", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/sysUser/:id", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/sysUser/", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/sysUser", "POST", "", "", ""},
|
||||
{"p", "admin", "/api/v1/sysUser", "PUT", "", "", ""},
|
||||
{"p", "admin", "/api/v1/sysUser/:id", "DELETE", "", "", ""},
|
||||
{"p", "admin", "/api/v1/user/profile", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/rolelist", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/role/:id", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/role", "POST", "", "", ""},
|
||||
{"p", "admin", "/api/v1/role", "PUT", "", "", ""},
|
||||
{"p", "admin", "/api/v1/role/:id", "DELETE", "", "", ""},
|
||||
{"p", "admin", "/api/v1/configList", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/config/:id", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/config", "POST", "", "", ""},
|
||||
{"p", "admin", "/api/v1/config", "PUT", "", "", ""},
|
||||
{"p", "admin", "/api/v1/config/:id", "DELETE", "", "", ""},
|
||||
{"p", "admin", "/api/v1/menurole", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/roleMenuTreeselect/:id", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/menuTreeselect", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/rolemenu", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/rolemenu", "POST", "", "", ""},
|
||||
{"p", "admin", "/api/v1/rolemenu/:id", "DELETE", "", "", ""},
|
||||
{"p", "admin", "/api/v1/deptList", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/dept/:id", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/dept", "POST", "", "", ""},
|
||||
{"p", "admin", "/api/v1/dept", "PUT", "", "", ""},
|
||||
{"p", "admin", "/api/v1/dept/:id", "DELETE", "", "", ""},
|
||||
{"p", "admin", "/api/v1/dict/datalist", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/dict/data/:id", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/dict/databytype/:id", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/dict/data", "POST", "", "", ""},
|
||||
{"p", "admin", "/api/v1/dict/data/", "PUT", "", "", ""},
|
||||
{"p", "admin", "/api/v1/dict/data/:id", "DELETE", "", "", ""},
|
||||
{"p", "admin", "/api/v1/dict/typelist", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/dict/type/:id", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/dict/type", "POST", "", "", ""},
|
||||
{"p", "admin", "/api/v1/dict/type", "PUT", "", "", ""},
|
||||
{"p", "admin", "/api/v1/dict/type/:id", "DELETE", "", "", ""},
|
||||
{"p", "admin", "/api/v1/postlist", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/post/:id", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/post", "POST", "", "", ""},
|
||||
{"p", "admin", "/api/v1/post", "PUT", "", "", ""},
|
||||
{"p", "admin", "/api/v1/post/:id", "DELETE", "", "", ""},
|
||||
{"p", "admin", "/api/v1/menu/:id", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/menuids", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/loginloglist", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/loginlog/:id", "DELETE", "", "", ""},
|
||||
{"p", "admin", "/api/v1/operloglist", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/getinfo", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/roledatascope", "PUT", "", "", ""},
|
||||
{"p", "admin", "/api/v1/roleDeptTreeselect/:id", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/deptTree", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/configKey/:id", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/logout", "POST", "", "", ""},
|
||||
{"p", "admin", "/api/v1/user/avatar", "POST", "", "", ""},
|
||||
{"p", "admin", "/api/v1/user/pwd", "PUT", "", "", ""},
|
||||
{"p", "admin", "/api/v1/dict/typeoptionselect", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/sysjobList", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/sysjob/:id", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/sysjob", "POST", "", "", ""},
|
||||
{"p", "admin", "/api/v1/sysjob", "PUT", "", "", ""},
|
||||
{"p", "admin", "/api/v1/sysjob/:id", "DELETE", "", "", ""},
|
||||
{"p", "admin", "/api/v1/syssettingList", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/syssetting/:id", "GET", "", "", ""},
|
||||
{"p", "admin", "/api/v1/syssetting", "POST", "", "", ""},
|
||||
{"p", "admin", "/api/v1/syssetting", "PUT", "", "", ""},
|
||||
{"p", "admin", "/api/v1/syssetting/:id", "DELETE", "", "", ""},
|
||||
}
|
||||
|
||||
db.Table("sys_casbin_rule").Create(list)
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package models
|
||||
import (
|
||||
"errors"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg"
|
||||
"go-admin/common/models"
|
||||
|
||||
"gorm.io/gorm"
|
||||
|
||||
@@ -33,7 +34,7 @@ type Menu struct {
|
||||
RoleId int `gorm:"-"`
|
||||
Children []Menu `json:"children" gorm:"-"`
|
||||
IsSelect bool `json:"is_select" gorm:"-"`
|
||||
BaseModel
|
||||
models.ModelTime
|
||||
}
|
||||
|
||||
func (Menu) TableName() string {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package models
|
||||
|
||||
import "go-admin/common/models"
|
||||
|
||||
type SysRole struct {
|
||||
RoleId int `json:"roleId" gorm:"primaryKey;autoIncrement"` // 角色编码
|
||||
RoleName string `json:"roleName" gorm:"size:128;"` // 角色名称
|
||||
@@ -7,12 +9,11 @@ type SysRole struct {
|
||||
RoleKey string `json:"roleKey" gorm:"size:128;"` //角色代码
|
||||
RoleSort int `json:"roleSort" gorm:""` //角色排序
|
||||
Flag string `json:"flag" gorm:"size:128;"` //
|
||||
CreateBy string `json:"createBy" gorm:"size:128;"` //
|
||||
UpdateBy string `json:"updateBy" gorm:"size:128;"` //
|
||||
Remark string `json:"remark" gorm:"size:255;"` //备注
|
||||
Admin bool `json:"admin" gorm:"size:4;"`
|
||||
DataScope string `json:"dataScope" gorm:"size:128;"`
|
||||
BaseModel
|
||||
models.ModelTime
|
||||
models.ControlBy
|
||||
|
||||
Params string `json:"params" gorm:"-"`
|
||||
MenuIds []int `json:"menuIds" gorm:"-"`
|
||||
|
||||
@@ -1,231 +0,0 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type RoleMenu struct {
|
||||
RoleId int `gorm:""`
|
||||
MenuId int `gorm:""`
|
||||
RoleName string `gorm:"size:128)"`
|
||||
CreateBy string `gorm:"size:128)"`
|
||||
UpdateBy string `gorm:"size:128)"`
|
||||
}
|
||||
|
||||
func (RoleMenu) TableName() string {
|
||||
return "sys_role_menu"
|
||||
}
|
||||
|
||||
type MenuPath struct {
|
||||
Path string `json:"path"`
|
||||
}
|
||||
|
||||
//func (rm *RoleMenu) Get(tx *gorm.DB) ([]RoleMenu, error) {
|
||||
// var r []RoleMenu
|
||||
// table := tx.Table("sys_role_menu")
|
||||
// if rm.RoleId != 0 {
|
||||
// table = table.Where("role_id = ?", rm.RoleId)
|
||||
//
|
||||
// }
|
||||
// if err := table.Find(&r).Error; err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
// return r, nil
|
||||
//}
|
||||
|
||||
func (rm *RoleMenu) GetPermis(tx *gorm.DB) ([]string, error) {
|
||||
var r []Menu
|
||||
table := tx.Select("sys_menu.permission").Table("sys_menu").Joins("left join sys_role_menu on sys_menu.menu_id = sys_role_menu.menu_id")
|
||||
|
||||
table = table.Where("role_id = ?", rm.RoleId)
|
||||
|
||||
table = table.Where("sys_menu.menu_type in('F','C')")
|
||||
if err := table.Find(&r).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var list []string
|
||||
for i := 0; i < len(r); i++ {
|
||||
list = append(list, r[i].Permission)
|
||||
}
|
||||
return list, nil
|
||||
}
|
||||
|
||||
func (rm *RoleMenu) GetIDS(tx *gorm.DB) ([]MenuPath, error) {
|
||||
var r []MenuPath
|
||||
table := tx.Select("sys_menu.path").Table("sys_role_menu")
|
||||
table = table.Joins("left join sys_role on sys_role.role_id=sys_role_menu.role_id")
|
||||
table = table.Joins("left join sys_menu on sys_menu.id=sys_role_menu.menu_id")
|
||||
table = table.Where("sys_role.role_name = ? and sys_menu.type=1", rm.RoleName)
|
||||
if err := table.Find(&r).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return r, nil
|
||||
}
|
||||
|
||||
//func (rm *RoleMenu) DeleteRoleMenu(roleId int) (bool, error) {
|
||||
// tx := orm.Eloquent.Begin()
|
||||
// defer func() {
|
||||
// if r := recover(); r != nil {
|
||||
// tx.Rollback()
|
||||
// }
|
||||
// }()
|
||||
//
|
||||
// if err := tx.Error; err != nil {
|
||||
// return false, err
|
||||
// }
|
||||
//
|
||||
// if err := tx.Table("sys_role_dept").Where("role_id = ?", roleId).Delete(&rm).Error; err != nil {
|
||||
// tx.Rollback()
|
||||
// return false, err
|
||||
// }
|
||||
// if err := tx.Table("sys_role_menu").Where("role_id = ?", roleId).Delete(&rm).Error; err != nil {
|
||||
// tx.Rollback()
|
||||
// return false, err
|
||||
// }
|
||||
// var role SysRole
|
||||
// if err := tx.Table("sys_role").Where("role_id = ?", roleId).First(&role).Error; err != nil {
|
||||
// tx.Rollback()
|
||||
// return false, err
|
||||
// }
|
||||
// sql3 := "delete from sys_casbin_rule where v0= '" + role.RoleKey + "';"
|
||||
// if err := tx.Exec(sql3).Error; err != nil {
|
||||
// tx.Rollback()
|
||||
// return false, err
|
||||
// }
|
||||
// if err := tx.Commit().Error; err != nil {
|
||||
// return false, err
|
||||
// }
|
||||
//
|
||||
// return true, nil
|
||||
//
|
||||
//}
|
||||
|
||||
// 该方法即将弃用
|
||||
//func (rm *RoleMenu) BatchDeleteRoleMenu(roleIds []int) (bool, error) {
|
||||
// tx := orm.Eloquent.Begin()
|
||||
// defer func() {
|
||||
// if r := recover(); r != nil {
|
||||
// tx.Rollback()
|
||||
// }
|
||||
// }()
|
||||
//
|
||||
// if err := tx.Error; err != nil {
|
||||
// return false, err
|
||||
// }
|
||||
//
|
||||
// if err := tx.Table("sys_role_menu").Where("role_id in (?)", roleIds).Delete(&rm).Error; err != nil {
|
||||
// tx.Rollback()
|
||||
// return false, err
|
||||
// }
|
||||
// var role []SysRole
|
||||
// if err := tx.Table("sys_role").Where("role_id in (?)", roleIds).Find(&role).Error; err != nil {
|
||||
// tx.Rollback()
|
||||
// return false, err
|
||||
// }
|
||||
// sql := ""
|
||||
// for i := 0; i < len(role); i++ {
|
||||
// sql += "delete from sys_casbin_rule where v0= '" + role[i].RoleName + "';"
|
||||
// }
|
||||
// if err := tx.Exec(sql).Error; err != nil {
|
||||
// tx.Rollback()
|
||||
// return false, err
|
||||
// }
|
||||
// if err := tx.Commit().Error; err != nil {
|
||||
// return false, err
|
||||
// }
|
||||
// return true, nil
|
||||
//
|
||||
//}
|
||||
|
||||
//func (rm *RoleMenu) Insert(roleId int, menuId []int) (bool, error) {
|
||||
// var (
|
||||
// role SysRole
|
||||
// menu []Menu
|
||||
// casbinRuleQueue []system.CasbinRule // casbinRule 待插入队列
|
||||
// )
|
||||
//
|
||||
// // 开始事务
|
||||
// tx := orm.Eloquent.Begin()
|
||||
// defer func() {
|
||||
// if r := recover(); r != nil {
|
||||
// tx.Rollback()
|
||||
// }
|
||||
// }()
|
||||
//
|
||||
// if err := tx.Error; err != nil {
|
||||
// return false, err
|
||||
// }
|
||||
//
|
||||
// // 在事务中做一些数据库操作(从这一点使用'tx',而不是'db')
|
||||
// if err := tx.Table("sys_role").Where("role_id = ?", roleId).First(&role).Error; err != nil {
|
||||
// tx.Rollback()
|
||||
// return false, err
|
||||
// }
|
||||
// if err := tx.Table("sys_menu").Where("menu_id in (?)", menuId).Find(&menu).Error; err != nil {
|
||||
// tx.Rollback()
|
||||
// return false, err
|
||||
// }
|
||||
// //ORM不支持批量插入所以需要拼接 sql 串
|
||||
// sysRoleMenuSql := "INSERT INTO `sys_role_menu` (`role_id`,`menu_id`,`role_name`) VALUES "
|
||||
// casbinRuleSql := "INSERT INTO `sys_casbin_rule` (`p_type`,`v0`,`v1`,`v2`) VALUES "
|
||||
//
|
||||
// for i, m := range menu {
|
||||
// // 拼装'role_menu'表批量插入SQL语句
|
||||
// sysRoleMenuSql += fmt.Sprintf("(%d,%d,'%s')", role.RoleId, m.MenuId, role.RoleKey)
|
||||
// if i == len(menu)-1 {
|
||||
// sysRoleMenuSql += ";" //最后一条数据 以分号结尾
|
||||
// } else {
|
||||
// sysRoleMenuSql += ","
|
||||
// }
|
||||
// if m.MenuType == "A" {
|
||||
// // 加入队列
|
||||
// casbinRuleQueue = append(casbinRuleQueue,
|
||||
// system.CasbinRule{
|
||||
// V0: role.RoleKey,
|
||||
// V1: m.Path,
|
||||
// V2: m.Action,
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
// // 执行批量插入sys_role_menu
|
||||
// if err := tx.Exec(sysRoleMenuSql).Error; err != nil {
|
||||
// tx.Rollback()
|
||||
// return false, err
|
||||
// }
|
||||
//
|
||||
// // 拼装'sys_casbin_rule'批量插入SQL语句
|
||||
// // TODO: casbinRuleQueue队列不为空时才会拼装,否则直接忽略不执行'for'循环
|
||||
// for i, v := range casbinRuleQueue {
|
||||
// casbinRuleSql += fmt.Sprintf("('p','%s','%s','%s')", v.V0, v.V1, v.V2)
|
||||
// if i == len(casbinRuleQueue)-1 {
|
||||
// casbinRuleSql += ";"
|
||||
// } else {
|
||||
// casbinRuleSql += ","
|
||||
// }
|
||||
// }
|
||||
// // 执行批量插入sys_casbin_rule
|
||||
// if len(casbinRuleQueue) > 0 {
|
||||
// if err := tx.Exec(casbinRuleSql).Error; err != nil {
|
||||
// tx.Rollback()
|
||||
// return false, err
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if err := tx.Commit().Error; err != nil {
|
||||
// return false, err
|
||||
// }
|
||||
// return true, nil
|
||||
//}
|
||||
|
||||
//func (rm *RoleMenu) Delete(RoleId string, MenuID string) (bool, error) {
|
||||
// rm.RoleId, _ = tools.StringToInt(RoleId)
|
||||
// table := orm.Eloquent.Table("sys_role_menu").Where("role_id = ?", RoleId)
|
||||
// if MenuID != "" {
|
||||
// table = table.Where("menu_id = ?", MenuID)
|
||||
// }
|
||||
// if err := table.Delete(&rm).Error; err != nil {
|
||||
// return false, err
|
||||
// }
|
||||
// return true, nil
|
||||
//
|
||||
//}
|
||||
@@ -8,8 +8,8 @@ type SysCategory struct {
|
||||
models.Model
|
||||
Name string `json:"name" gorm:"type:varchar(255);comment:名称"` //
|
||||
Img string `json:"img" gorm:"type:varchar(255);comment:图标"` //
|
||||
Sort string `json:"sort" gorm:"type:int(4);comment:排序"` //
|
||||
Status string `json:"status" gorm:"type:int(1);comment:状态"` //
|
||||
Sort int `json:"sort" gorm:"type:int(4);comment:排序"` //
|
||||
Status int `json:"status" gorm:"type:int(1);comment:状态"` //
|
||||
Remark string `json:"remark" gorm:"type:varchar(255);comment:备注"` //
|
||||
models.ControlBy
|
||||
models.ModelTime
|
||||
@@ -26,4 +26,4 @@ func (e *SysCategory) Generate() models.ActiveRecord {
|
||||
|
||||
func (e *SysCategory) GetId() interface{} {
|
||||
return e.Id
|
||||
}
|
||||
}
|
||||
@@ -2,18 +2,15 @@ package models
|
||||
|
||||
import (
|
||||
"go-admin/common/models"
|
||||
"time"
|
||||
)
|
||||
|
||||
type SysChinaAreaData struct {
|
||||
models.Model
|
||||
models.ControlBy
|
||||
|
||||
PId string `json:"pId" gorm:"type:int(11);comment:上级编码"`
|
||||
Name string `json:"name" gorm:"type:varchar(128);comment:名称"`
|
||||
CreateTime time.Time `json:"createTime" gorm:"type:timestamp;comment:CreateTime"`
|
||||
UpdateTime time.Time `json:"updateTime" gorm:"type:timestamp;comment:UpdateTime"`
|
||||
DeleteTime time.Time `json:"deleteTime" gorm:"type:timestamp;comment:DeleteTime"`
|
||||
models.ControlBy
|
||||
models.ModelTime
|
||||
}
|
||||
|
||||
func (SysChinaAreaData) TableName() string {
|
||||
@@ -27,4 +24,4 @@ func (e *SysChinaAreaData) Generate() models.ActiveRecord {
|
||||
|
||||
func (e *SysChinaAreaData) GetId() interface{} {
|
||||
return e.Id
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"go-admin/common/models"
|
||||
)
|
||||
|
||||
type SysContent struct {
|
||||
models.Model
|
||||
CateId int `json:"cateId" gorm:"type:int(11);comment:分类id"`
|
||||
Name string `json:"name" gorm:"type:varchar(255);comment:名称"`
|
||||
Status int `json:"status" gorm:"type:int(1);comment:状态"`
|
||||
Img string `json:"img" gorm:"type:varchar(255);comment:图片"`
|
||||
Content string `json:"content" gorm:"type:text;comment:内容"`
|
||||
Remark string `json:"remark" gorm:"type:varchar(255);comment:备注"`
|
||||
Sort int `json:"sort" gorm:"type:int(4);comment:排序"`
|
||||
models.ControlBy
|
||||
models.ModelTime
|
||||
}
|
||||
|
||||
// TableName
|
||||
func (SysContent) TableName() string {
|
||||
return "sys_content"
|
||||
}
|
||||
|
||||
// Generate
|
||||
func (e *SysContent) Generate() models.ActiveRecord {
|
||||
o := *e
|
||||
return &o
|
||||
}
|
||||
|
||||
func (e *SysContent) GetId() interface{} {
|
||||
return e.Id
|
||||
}
|
||||
@@ -3,7 +3,6 @@ package models
|
||||
import (
|
||||
"go-admin/common/models"
|
||||
"gorm.io/gorm"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type SysJob struct {
|
||||
@@ -18,9 +17,8 @@ type SysJob struct {
|
||||
Concurrent int `json:"concurrent" gorm:"size:1;"` // 是否并发
|
||||
Status int `json:"status" gorm:"size:1;"` // 状态
|
||||
EntryId int `json:"entry_id" gorm:"size:11;"` // job启动时返回的id
|
||||
CreateBy string `json:"createBy" gorm:"size:128;"` //
|
||||
UpdateBy string `json:"updateBy" gorm:"size:128;"` //
|
||||
BaseModel
|
||||
models.ControlBy
|
||||
models.ModelTime
|
||||
|
||||
DataScope string `json:"dataScope" gorm:"-"`
|
||||
}
|
||||
@@ -39,11 +37,11 @@ func (e *SysJob) GetId() interface{} {
|
||||
}
|
||||
|
||||
func (e *SysJob) SetCreateBy(createBy int) {
|
||||
e.CreateBy = strconv.Itoa(int(createBy))
|
||||
e.CreateBy = createBy
|
||||
}
|
||||
|
||||
func (e *SysJob) SetUpdateBy(updateBy int) {
|
||||
e.UpdateBy = strconv.Itoa(int(updateBy))
|
||||
e.UpdateBy = updateBy
|
||||
}
|
||||
|
||||
// 创建SysJob
|
||||
@@ -1,137 +0,0 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"go-admin/common/models"
|
||||
)
|
||||
|
||||
type SysContent struct {
|
||||
Id int `json:"id" gorm:"type:int(11);primaryKey;autoIncrement"` // id
|
||||
CateId string `json:"cateId" gorm:"type:int(11);comment:分类id"`
|
||||
Name string `json:"name" gorm:"type:varchar(255);comment:名称"`
|
||||
Status string `json:"status" gorm:"type:int(1);comment:状态"`
|
||||
Img string `json:"img" gorm:"type:varchar(255);comment:图片"`
|
||||
Content string `json:"content" gorm:"type:text;comment:内容"`
|
||||
Remark string `json:"remark" gorm:"type:varchar(255);comment:备注"`
|
||||
Sort string `json:"sort" gorm:"type:int(4);comment:排序"`
|
||||
models.ControlBy
|
||||
models.ModelTime
|
||||
}
|
||||
|
||||
func (SysContent) TableName() string {
|
||||
return "sys_content"
|
||||
}
|
||||
|
||||
func (e *SysContent) Generate() models.ActiveRecord {
|
||||
o := *e
|
||||
return &o
|
||||
}
|
||||
|
||||
func (e *SysContent) GetId() interface{} {
|
||||
return e.Id
|
||||
}
|
||||
|
||||
//// 创建SysContent
|
||||
//func (e *SysContent) Create() (SysContent, error) {
|
||||
// var doc SysContent
|
||||
// result := orm.Eloquent.Table(e.TableName()).Create(&e)
|
||||
// if result.Error != nil {
|
||||
// err := result.Error
|
||||
// return doc, err
|
||||
// }
|
||||
// doc = *e
|
||||
// return doc, nil
|
||||
//}
|
||||
//
|
||||
//// 获取SysContent
|
||||
//func (e *SysContent) Get() (SysContent, error) {
|
||||
// var doc SysContent
|
||||
// table := orm.Eloquent.Table(e.TableName())
|
||||
//
|
||||
// if e.Id != 0 {
|
||||
// table = table.Where("id = ?", e.Id)
|
||||
// }
|
||||
//
|
||||
// if e.CateId != "" {
|
||||
// table = table.Where("cate_id = ?", e.CateId)
|
||||
// }
|
||||
//
|
||||
// if e.Name != "" {
|
||||
// table = table.Where("name like ?", "%"+e.Name+"%")
|
||||
// }
|
||||
//
|
||||
// if e.Status != "" {
|
||||
// table = table.Where("status = ?", e.Status)
|
||||
// }
|
||||
//
|
||||
// if err := table.First(&doc).Error; err != nil {
|
||||
// return doc, err
|
||||
// }
|
||||
// return doc, nil
|
||||
//}
|
||||
//
|
||||
//// 获取SysContent带分页
|
||||
//func (e *SysContent) GetPage(pageSize int, pageIndex int) ([]SysContent, int, error) {
|
||||
// var doc []SysContent
|
||||
//
|
||||
// table := orm.Eloquent.Table(e.TableName())
|
||||
//
|
||||
// if e.CateId != "" {
|
||||
// table = table.Where("cate_id = ?", e.CateId)
|
||||
// }
|
||||
//
|
||||
// if e.Name != "" {
|
||||
// table = table.Where("name like ?", "%"+e.Name+"%")
|
||||
// }
|
||||
//
|
||||
// if e.Status != "" {
|
||||
// table = table.Where("status = ?", e.Status)
|
||||
// }
|
||||
//
|
||||
// // 数据权限控制(如果不需要数据权限请将此处去掉)
|
||||
// dataPermission := new(system.DataPermission)
|
||||
// dataPermission.UserId, _ = tools.StringToInt(e.DataScope)
|
||||
// table, err := dataPermission.GetDataScope(e.TableName(), table)
|
||||
// if err != nil {
|
||||
// return nil, 0, err
|
||||
// }
|
||||
// var count int64
|
||||
//
|
||||
// if err := table.Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Offset(-1).Limit(-1).Count(&count).Error; err != nil {
|
||||
// return nil, 0, err
|
||||
// }
|
||||
// //table.Where("`deleted_at` IS NULL").Count(&count)
|
||||
// return doc, int(count), nil
|
||||
//}
|
||||
//
|
||||
//// 更新SysContent
|
||||
//func (e *SysContent) Update(id int) (update SysContent, err error) {
|
||||
// if err = orm.Eloquent.Table(e.TableName()).Where("id = ?", id).First(&update).Error; err != nil {
|
||||
// return
|
||||
// }
|
||||
//
|
||||
// //参数1:是要修改的数据
|
||||
// //参数2:是修改的数据
|
||||
// if err = orm.Eloquent.Table(e.TableName()).Model(&update).Where("id = ?", id).Updates(&e).Error; err != nil {
|
||||
// return
|
||||
// }
|
||||
// return
|
||||
//}
|
||||
//
|
||||
//// 删除SysContent
|
||||
//func (e *SysContent) Delete(id int) (success bool, err error) {
|
||||
// if err = orm.Eloquent.Table(e.TableName()).Where("id = ?", id).Delete(&SysContent{}).Error; err != nil {
|
||||
// success = false
|
||||
// return
|
||||
// }
|
||||
// success = true
|
||||
// return
|
||||
//}
|
||||
//
|
||||
////批量删除
|
||||
//func (e *SysContent) BatchDelete(id []int) (Result bool, err error) {
|
||||
// if err = orm.Eloquent.Table(e.TableName()).Where("id in (?)", id).Delete(&SysContent{}).Error; err != nil {
|
||||
// return
|
||||
// }
|
||||
// Result = true
|
||||
// return
|
||||
//}
|
||||
@@ -2,18 +2,19 @@ package system
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg"
|
||||
|
||||
"github.com/casbin/casbin/v2"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"go-admin/common/models"
|
||||
)
|
||||
|
||||
type RoleMenu struct {
|
||||
RoleId int `gorm:""`
|
||||
MenuId int `gorm:""`
|
||||
RoleName string `gorm:"size:128"`
|
||||
CreateBy string `gorm:"size:128"`
|
||||
UpdateBy string `gorm:"size:128"`
|
||||
models.ControlBy
|
||||
}
|
||||
|
||||
func (RoleMenu) TableName() string {
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
package system
|
||||
|
||||
import (
|
||||
"go-admin/common/models"
|
||||
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
log "github.com/go-admin-team/go-admin-core/logger"
|
||||
"github.com/go-admin-team/go-admin-core/sdk"
|
||||
"github.com/go-admin-team/go-admin-core/storage"
|
||||
|
||||
"go-admin/common/models"
|
||||
)
|
||||
|
||||
type SysLoginLog struct {
|
||||
@@ -35,3 +41,32 @@ func (e *SysLoginLog) Generate() models.ActiveRecord {
|
||||
func (e *SysLoginLog) GetId() interface{} {
|
||||
return e.Id
|
||||
}
|
||||
|
||||
// SaveLoginLog 从队列中获取登录日志
|
||||
func SaveLoginLog(message storage.Messager) (err error) {
|
||||
//准备db
|
||||
db := sdk.Runtime.GetDbByKey(message.GetPrefix())
|
||||
if db == nil {
|
||||
err = errors.New("db not exist")
|
||||
log.Errorf("host[%s]'s %s", message.GetPrefix(), err.Error())
|
||||
return err
|
||||
}
|
||||
var rb []byte
|
||||
rb, err = json.Marshal(message.GetValues())
|
||||
if err != nil {
|
||||
log.Errorf("json Marshal error, %s", err.Error())
|
||||
return err
|
||||
}
|
||||
var l SysLoginLog
|
||||
err = json.Unmarshal(rb, &l)
|
||||
if err != nil {
|
||||
log.Errorf("json Unmarshal error, %s", err.Error())
|
||||
return err
|
||||
}
|
||||
err = db.Create(&l).Error
|
||||
if err != nil {
|
||||
log.Errorf("db create error, %s", err.Error())
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
package system
|
||||
|
||||
import (
|
||||
"go-admin/common/models"
|
||||
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
log "github.com/go-admin-team/go-admin-core/logger"
|
||||
"github.com/go-admin-team/go-admin-core/sdk"
|
||||
"github.com/go-admin-team/go-admin-core/storage"
|
||||
|
||||
"go-admin/common/models"
|
||||
)
|
||||
|
||||
type SysOperaLog struct {
|
||||
@@ -43,3 +49,37 @@ func (e *SysOperaLog) Generate() models.ActiveRecord {
|
||||
func (e *SysOperaLog) GetId() interface{} {
|
||||
return e.Id
|
||||
}
|
||||
|
||||
// SaveOperaLog 从队列中获取操作日志
|
||||
func SaveOperaLog(message storage.Messager) (err error) {
|
||||
//准备db
|
||||
db := sdk.Runtime.GetDbByKey(message.GetPrefix())
|
||||
if db == nil {
|
||||
err = errors.New("db not exist")
|
||||
log.Errorf("host[%s]'s %s", message.GetPrefix(), err.Error())
|
||||
return err
|
||||
}
|
||||
var rb []byte
|
||||
rb, err = json.Marshal(message.GetValues())
|
||||
if err != nil {
|
||||
log.Errorf("json Marshal error, %s", err.Error())
|
||||
return err
|
||||
}
|
||||
var l SysOperaLog
|
||||
err = json.Unmarshal(rb, &l)
|
||||
if err != nil {
|
||||
log.Errorf("json Unmarshal error, %s", err.Error())
|
||||
return err
|
||||
}
|
||||
if l.Title == "" {
|
||||
m := &SysMenu{}
|
||||
db.Model(m).Select("Title").Where("action = ?", l.Method).Where("path = ?", message.GetValues()["_fullPath"]).First(m)
|
||||
l.Title = m.Title
|
||||
}
|
||||
err = db.Create(&l).Error
|
||||
if err != nil {
|
||||
log.Errorf("db create error, %s", err.Error())
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -41,8 +41,8 @@ type SysColumns struct {
|
||||
FkCol []SysColumns `gorm:"-" json:"fkCol"`
|
||||
FkLabelId string `gorm:"" json:"fkLabelId"`
|
||||
FkLabelName string `gorm:"size:255;" json:"fkLabelName"`
|
||||
CreateBy string `gorm:"column:create_by;size:128;" json:"createBy"`
|
||||
UpdateBy string `gorm:"column:update_By;size:128;" json:"updateBy"`
|
||||
CreateBy int `gorm:"column:create_by;size:20;" json:"createBy"`
|
||||
UpdateBy int `gorm:"column:update_By;size:20;" json:"updateBy"`
|
||||
|
||||
models.BaseModel
|
||||
}
|
||||
@@ -66,6 +66,7 @@ func (e *SysColumns) GetList(tx *gorm.DB) ([]SysColumns, error) {
|
||||
|
||||
func (e *SysColumns) Create(tx *gorm.DB) (SysColumns, error) {
|
||||
var doc SysColumns
|
||||
e.CreateBy = 0
|
||||
result := tx.Table("sys_columns").Create(&e)
|
||||
if result.Error != nil {
|
||||
err := result.Error
|
||||
@@ -82,6 +83,7 @@ func (e *SysColumns) Update(tx *gorm.DB) (update SysColumns, err error) {
|
||||
|
||||
//参数1:是要修改的数据
|
||||
//参数2:是修改的数据
|
||||
e.UpdateBy = 0
|
||||
if err = tx.Table("sys_columns").Model(&update).Updates(&e).Error; err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -34,8 +34,8 @@ type SysTables struct {
|
||||
IsLogicalDelete string `gorm:"size:1;" json:"isLogicalDelete"`
|
||||
LogicalDelete bool `gorm:"size:1;" json:"logicalDelete"`
|
||||
LogicalDeleteColumn string `gorm:"size:128;" json:"logicalDeleteColumn"`
|
||||
CreateBy string `gorm:"size:128;" json:"createBy"`
|
||||
UpdateBy string `gorm:"size:128;" json:"updateBy"`
|
||||
CreateBy int `gorm:"size:128;" json:"createBy"`
|
||||
UpdateBy int `gorm:"size:128;" json:"updateBy"`
|
||||
DataScope string `gorm:"-" json:"dataScope"`
|
||||
Params Params `gorm:"-" json:"params"`
|
||||
Columns []SysColumns `gorm:"-" json:"columns"`
|
||||
@@ -134,6 +134,7 @@ func (e *SysTables) GetTree(tx *gorm.DB) ([]SysTables, error) {
|
||||
|
||||
func (e *SysTables) Create(tx *gorm.DB) (SysTables, error) {
|
||||
var doc SysTables
|
||||
e.CreateBy = 0
|
||||
result := tx.Table("sys_tables").Create(&e)
|
||||
if result.Error != nil {
|
||||
err := result.Error
|
||||
@@ -156,6 +157,7 @@ func (e *SysTables) Update(tx *gorm.DB) (update SysTables, err error) {
|
||||
|
||||
//参数1:是要修改的数据
|
||||
//参数2:是修改的数据
|
||||
e.UpdateBy = 0
|
||||
if err = tx.Table("sys_tables").Where("table_id = ?", e.TableId).Updates(&e).Error; err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1,19 +1,17 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"github.com/go-admin-team/go-admin-core/sdk"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/api"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg"
|
||||
"os"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
log "github.com/go-admin-team/go-admin-core/logger"
|
||||
|
||||
"go-admin/app/admin/middleware"
|
||||
"go-admin/app/admin/middleware/handler"
|
||||
common "go-admin/common/middleware"
|
||||
|
||||
"github.com/go-admin-team/go-admin-core/sdk"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/api"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/config"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg"
|
||||
|
||||
common "go-admin/common/middleware"
|
||||
"go-admin/common/middleware/handler"
|
||||
)
|
||||
|
||||
// InitRouter 路由初始化,不要怀疑,这里用到了
|
||||
@@ -38,9 +36,9 @@ func InitRouter() {
|
||||
r.Use(common.Sentinel()).
|
||||
Use(common.RequestId(pkg.TrafficKey)).
|
||||
Use(api.SetRequestLogger)
|
||||
middleware.InitMiddleware(r)
|
||||
common.InitMiddleware(r)
|
||||
// the jwt middleware
|
||||
authMiddleware, err := middleware.AuthInit()
|
||||
authMiddleware, err := common.AuthInit()
|
||||
if err != nil {
|
||||
log.Fatalf("JWT Init Error, %s", err.Error())
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ func init() {
|
||||
|
||||
// 需认证的路由代码
|
||||
func registerSysChinaAreaDataRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
|
||||
api := &sys_china_area_data.SysChinaAreaData{}
|
||||
api := sys_china_area_data.SysChinaAreaData{}
|
||||
r := v1.Group("/sys_china_area_data").Use(authMiddleware.MiddlewareFunc()).Use(middleware2.AuthCheckRole())
|
||||
{
|
||||
r.GET("", api.GetSysChinaAreaDataList)
|
||||
@@ -13,7 +13,7 @@ func init() {
|
||||
|
||||
// 需认证的路由代码
|
||||
func registerSysConfigRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
|
||||
api := &sys_config.SysConfig{}
|
||||
api := sys_config.SysConfig{}
|
||||
r := v1.Group("/config").Use(authMiddleware.MiddlewareFunc()).Use(middleware2.AuthCheckRole())
|
||||
{
|
||||
|
||||
@@ -21,7 +21,7 @@ func registerSysConfigRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMidd
|
||||
r.GET("/:id", api.GetSysConfig)
|
||||
r.POST("", api.InsertSysConfig)
|
||||
r.PUT("/:id", api.UpdateSysConfig)
|
||||
r.DELETE("/:id", api.DeleteSysConfig)
|
||||
r.DELETE("", api.DeleteSysConfig)
|
||||
}
|
||||
|
||||
r1 := v1.Group("/configKey").Use(authMiddleware.MiddlewareFunc())
|
||||
@@ -34,4 +34,4 @@ func registerSysConfigRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMidd
|
||||
r2.GET("", api.GetSysConfigBySysApp)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,7 @@ func init() {
|
||||
|
||||
// 需认证的路由代码
|
||||
func registerSysDeptRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
|
||||
api := &sys_dept.SysDept{}
|
||||
api := sys_dept.SysDept{}
|
||||
r := v1.Group("/dept").Use(authMiddleware.MiddlewareFunc()).Use(middleware2.AuthCheckRole())
|
||||
{
|
||||
r.GET("", api.GetSysDeptList)
|
||||
|
||||
@@ -13,7 +13,7 @@ func init() {
|
||||
|
||||
// 需认证的路由代码
|
||||
func registerSysFileDirRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
|
||||
api := &sys_file.SysFileDir{}
|
||||
api := sys_file.SysFileDir{}
|
||||
r := v1.Group("/sysfiledir").Use(authMiddleware.MiddlewareFunc()).Use(middleware2.AuthCheckRole())
|
||||
{
|
||||
r.GET("", api.GetSysFileDirList)
|
||||
|
||||
@@ -13,7 +13,7 @@ func init() {
|
||||
|
||||
// 需认证的路由代码
|
||||
func registerSysFileInfoRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
|
||||
api := &sys_file.SysFileInfo{}
|
||||
api := sys_file.SysFileInfo{}
|
||||
r := v1.Group("/sysfileinfo").Use(authMiddleware.MiddlewareFunc()).Use(middleware2.AuthCheckRole())
|
||||
{
|
||||
r.GET("", api.GetSysFileInfoList)
|
||||
|
||||
@@ -31,7 +31,7 @@ func registerSysJobRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddlew
|
||||
r.PUT("", actions.PermissionAction(), actions.UpdateAction(new(dto.SysJobControl)))
|
||||
r.DELETE("", actions.PermissionAction(), actions.DeleteAction(new(dto.SysJobById)))
|
||||
}
|
||||
sysJob := &sys_job.SysJob{}
|
||||
sysJob := sys_job.SysJob{}
|
||||
|
||||
v1.GET("/job/remove/:id", sysJob.RemoveJobForService)
|
||||
v1.GET("/job/start/:id", sysJob.StartJobForService)
|
||||
|
||||
@@ -13,7 +13,7 @@ func init() {
|
||||
|
||||
// 需认证的路由代码
|
||||
func registerSysLoginLogRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
|
||||
api := &sys_login_log.SysLoginLog{}
|
||||
api := sys_login_log.SysLoginLog{}
|
||||
r := v1.Group("/sys-login-log").Use(authMiddleware.MiddlewareFunc()).Use(middleware2.AuthCheckRole())
|
||||
{
|
||||
r.GET("", api.GetSysLoginLogList)
|
||||
|
||||
@@ -13,7 +13,7 @@ func init() {
|
||||
|
||||
// 需认证的路由代码
|
||||
func registerSysMenuRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
|
||||
api := &sys_menu.SysMenu{}
|
||||
api := sys_menu.SysMenu{}
|
||||
//menu := v1.Group("/menu").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
|
||||
//{
|
||||
// menu.GET("/:id", system.GetMenu)
|
||||
|
||||
@@ -13,7 +13,7 @@ func init() {
|
||||
|
||||
// 需认证的路由代码
|
||||
func registerSysOperaLogRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
|
||||
api := &sys_opera_log.SysOperaLog{}
|
||||
api := sys_opera_log.SysOperaLog{}
|
||||
r := v1.Group("/sys-opera-log").Use(authMiddleware.MiddlewareFunc()).Use(middleware2.AuthCheckRole())
|
||||
{
|
||||
r.GET("", api.GetSysOperaLogList)
|
||||
|
||||
@@ -13,7 +13,7 @@ func init() {
|
||||
|
||||
// 需认证的路由代码
|
||||
func registerSyPostRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
|
||||
api := &sys_post.SysPost{}
|
||||
api := sys_post.SysPost{}
|
||||
r := v1.Group("/post").Use(authMiddleware.MiddlewareFunc()).Use(middleware2.AuthCheckRole())
|
||||
{
|
||||
r.GET("", api.GetSysPostList)
|
||||
|
||||
@@ -13,7 +13,7 @@ func init() {
|
||||
|
||||
// 需认证的路由代码
|
||||
func registerSysRoleRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
|
||||
api := &sys_role.SysRole{}
|
||||
api := sys_role.SysRole{}
|
||||
r := v1.Group("/role").Use(authMiddleware.MiddlewareFunc()).Use(middleware2.AuthCheckRole())
|
||||
{
|
||||
r.GET("", api.GetSysRoleList)
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"go-admin/app/admin/apis/system/sys_menu"
|
||||
//"go-admin/app/admin/models/tools"
|
||||
middleware2 "go-admin/common/middleware"
|
||||
"mime"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
jwt "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg/ws"
|
||||
ginSwagger "github.com/swaggo/gin-swagger"
|
||||
"github.com/swaggo/gin-swagger/swaggerFiles"
|
||||
|
||||
"go-admin/app/admin/apis/monitor"
|
||||
"go-admin/app/admin/apis/public"
|
||||
"go-admin/app/admin/apis/system"
|
||||
"go-admin/app/admin/apis/system/dict"
|
||||
"go-admin/app/admin/apis/system/sys_dept"
|
||||
"go-admin/app/admin/apis/system/sys_menu"
|
||||
"go-admin/app/admin/apis/tools"
|
||||
"go-admin/app/admin/middleware/handler"
|
||||
"go-admin/common/middleware"
|
||||
"go-admin/common/middleware/handler"
|
||||
_ "go-admin/docs"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
ginSwagger "github.com/swaggo/gin-swagger"
|
||||
"github.com/swaggo/gin-swagger/swaggerFiles"
|
||||
)
|
||||
|
||||
func InitSysRouter(r *gin.Engine, authMiddleware *jwt.GinJWTMiddleware) *gin.RouterGroup {
|
||||
@@ -46,7 +46,10 @@ func sysBaseRouter(r *gin.RouterGroup) {
|
||||
}
|
||||
|
||||
func sysStaticFileRouter(r *gin.RouterGroup) {
|
||||
mime.AddExtensionType(".js", "application/javascript")
|
||||
err := mime.AddExtensionType(".js", "application/javascript")
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
r.Static("/static", "./static")
|
||||
r.Static("/form-generator", "./static/form-generator")
|
||||
}
|
||||
@@ -58,17 +61,17 @@ func sysSwaggerRouter(r *gin.RouterGroup) {
|
||||
func sysNoCheckRoleRouter(r *gin.RouterGroup) {
|
||||
v1 := r.Group("/api/v1")
|
||||
|
||||
m := &monitor.Monitor{}
|
||||
m := monitor.Monitor{}
|
||||
v1.GET("/monitor/server", m.ServerInfo)
|
||||
sys := &system.System{}
|
||||
sys := system.System{}
|
||||
v1.GET("/getCaptcha", sys.GenerateCaptchaHandler)
|
||||
gen := &tools.Gen{}
|
||||
gen := tools.Gen{}
|
||||
v1.GET("/gen/preview/:tableId", gen.Preview)
|
||||
v1.GET("/gen/toproject/:tableId", gen.GenCodeV3)
|
||||
v1.GET("/gen/toproject/:tableId", gen.GenCode)
|
||||
v1.GET("/gen/apitofile/:tableId", gen.GenApiToFile)
|
||||
|
||||
v1.GET("/gen/todb/:tableId", gen.GenMenuAndApi)
|
||||
sysTable := &tools.SysTable{}
|
||||
sysTable := tools.SysTable{}
|
||||
v1.GET("/gen/tabletree", sysTable.GetSysTablesTree)
|
||||
|
||||
registerDBRouter(v1)
|
||||
@@ -80,7 +83,7 @@ func sysNoCheckRoleRouter(r *gin.RouterGroup) {
|
||||
func registerDBRouter(api *gin.RouterGroup) {
|
||||
db := api.Group("/db")
|
||||
{
|
||||
gen := &tools.Gen{}
|
||||
gen := tools.Gen{}
|
||||
db.GET("/tables/page", gen.GetDBTableList)
|
||||
db.GET("/columns/page", gen.GetDBColumnList)
|
||||
}
|
||||
@@ -89,7 +92,7 @@ func registerDBRouter(api *gin.RouterGroup) {
|
||||
func registerSysTableRouter(v1 *gin.RouterGroup) {
|
||||
systables := v1.Group("/sys/tables")
|
||||
{
|
||||
sysTable := &tools.SysTable{}
|
||||
sysTable := tools.SysTable{}
|
||||
systables.GET("/page", sysTable.GetSysTableList)
|
||||
tablesinfo := systables.Group("/info")
|
||||
{
|
||||
@@ -103,13 +106,13 @@ func registerSysTableRouter(v1 *gin.RouterGroup) {
|
||||
}
|
||||
|
||||
func sysCheckRoleRouterInit(r *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
|
||||
r.POST("/login", authMiddleware.LoginHandler)
|
||||
// Refresh time can be longer than token timeout
|
||||
r.GET("/refresh_token", authMiddleware.RefreshHandler)
|
||||
r.Group("").Use(authMiddleware.MiddlewareFunc()).GET("/ws/:id/:channel", ws.WebsocketManager.WsClient)
|
||||
r.Group("").Use(authMiddleware.MiddlewareFunc()).GET("/wslogout/:id/:channel", ws.WebsocketManager.UnWsClient)
|
||||
v1 := r.Group("/api/v1")
|
||||
|
||||
v1.POST("/login", authMiddleware.LoginHandler)
|
||||
// Refresh time can be longer than token timeout
|
||||
v1.GET("/refresh_token", authMiddleware.RefreshHandler)
|
||||
//registerPageRouter(v1, authMiddleware)
|
||||
registerBaseRouter(v1, authMiddleware)
|
||||
registerDictRouter(v1, authMiddleware)
|
||||
@@ -119,12 +122,14 @@ func sysCheckRoleRouterInit(r *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddle
|
||||
|
||||
func registerBaseRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
|
||||
api := sys_menu.SysMenu{}
|
||||
v1auth := v1.Group("").Use(authMiddleware.MiddlewareFunc()).Use(middleware2.AuthCheckRole())
|
||||
api2 := sys_dept.SysDept{}
|
||||
v1auth := v1.Group("").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
|
||||
{
|
||||
//v1auth.GET("/getinfo", system.GetInfo)
|
||||
v1auth.GET("/roleMenuTreeselect/:roleId", api.GetMenuTreeSelect)
|
||||
v1.GET("/menuTreeselect", api.GetMenuTreeSelect)
|
||||
//v1auth.GET("/roleDeptTreeselect/:roleId", system.GetDeptTreeRoleselect)
|
||||
v1auth.GET("/roleDeptTreeselect/:roleId", api2.GetDeptTreeRoleSelect)
|
||||
//GetDeptTreeRoleselect)
|
||||
v1auth.POST("/logout", handler.LogOut)
|
||||
}
|
||||
}
|
||||
@@ -167,9 +172,9 @@ func registerBaseRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddlewar
|
||||
//}
|
||||
|
||||
func registerDictRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
|
||||
dictApi := &dict.SysDictType{}
|
||||
dataApi := &dict.SysDictData{}
|
||||
dicts := v1.Group("/dict").Use(authMiddleware.MiddlewareFunc()).Use(middleware2.AuthCheckRole())
|
||||
dictApi := dict.SysDictType{}
|
||||
dataApi := dict.SysDictData{}
|
||||
dicts := v1.Group("/dict").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
|
||||
{
|
||||
|
||||
dicts.GET("/data", dataApi.GetSysDictDataList)
|
||||
@@ -199,7 +204,7 @@ func registerDictRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddlewar
|
||||
//}
|
||||
func registerSysSettingRouter(v1 *gin.RouterGroup) {
|
||||
api := system.SysSetting{}
|
||||
m := &monitor.Monitor{}
|
||||
m := monitor.Monitor{}
|
||||
setting := v1.Group("/setting")
|
||||
{
|
||||
setting.GET("", api.GetSetting)
|
||||
@@ -211,7 +216,7 @@ func registerSysSettingRouter(v1 *gin.RouterGroup) {
|
||||
func registerPublicRouter(v1 *gin.RouterGroup) {
|
||||
p := v1.Group("/public")
|
||||
{
|
||||
file := &public.File{}
|
||||
file := public.File{}
|
||||
p.POST("/uploadFile", file.UploadFile)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ func init() {
|
||||
|
||||
// 需认证的路由代码
|
||||
func registerSysUserRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
|
||||
api := &sys_user.SysUser{}
|
||||
api := sys_user.SysUser{}
|
||||
r := v1.Group("/sysUser").Use(authMiddleware.MiddlewareFunc()).Use(middleware2.AuthCheckRole()).Use(actions.PermissionAction())
|
||||
{
|
||||
r.GET("", api.GetSysUserList)
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package dto
|
||||
|
||||
import (
|
||||
"errors"
|
||||
vd "github.com/bytedance/go-tagexpr/v2/validator"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/api"
|
||||
|
||||
@@ -11,9 +13,9 @@ import (
|
||||
|
||||
type SysCategorySearch struct {
|
||||
dto.Pagination `search:"-"`
|
||||
Name string `form:"name" search:"type:exact;column:name;table:sys_category" comment:"名称"`
|
||||
|
||||
Status string `form:"status" search:"type:exact;column:status;table:sys_category" comment:"状态"`
|
||||
Name string `form:"name" search:"type:exact;column:name;table:sys_category" comment:"名称" vd:"?"`
|
||||
Status string `form:"status" search:"type:exact;column:status;table:sys_category" comment:"状态" vd:"?"`
|
||||
CateId int `form:"cateId" search:"type:exact;column:cate_id;table:sys_category" comment:"分类id" vd:"?"`
|
||||
}
|
||||
|
||||
func (m *SysCategorySearch) GetNeedSearch() interface{} {
|
||||
@@ -22,10 +24,16 @@ func (m *SysCategorySearch) GetNeedSearch() interface{} {
|
||||
|
||||
func (m *SysCategorySearch) Bind(ctx *gin.Context) error {
|
||||
log := api.GetRequestLogger(ctx)
|
||||
|
||||
err := ctx.ShouldBind(m)
|
||||
if err != nil {
|
||||
log.Debugf("ShouldBind error: %s", err.Error())
|
||||
}
|
||||
|
||||
if err = vd.Validate(m); err != nil {
|
||||
log.Errorf("Validate error: %s", err.Error())
|
||||
return err
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -35,29 +43,29 @@ func (m *SysCategorySearch) Generate() dto.Index {
|
||||
}
|
||||
|
||||
type SysCategoryControl struct {
|
||||
ID int `uri:"Id" comment:"标识"` // 标识
|
||||
|
||||
Name string `json:"name" comment:"名称"`
|
||||
|
||||
Img string `json:"img" comment:"图标"`
|
||||
|
||||
Sort string `json:"sort" comment:"排序"`
|
||||
|
||||
Status string `json:"status" comment:"状态"`
|
||||
|
||||
Remark string `json:"remark" comment:"备注"`
|
||||
ID int `uri:"Id" comment:"标识"`
|
||||
Name string `json:"name" comment:"名称" vd:"len($)>0 && $!=' '; msg:'invalid name: 不能是空字符串'"`
|
||||
Img string `json:"img" comment:"图标" vd:"?"`
|
||||
Sort int `json:"sort" comment:"排序" vd:"?"`
|
||||
Status int `json:"status" comment:"状态" vd:"$>0; msg:'invalid status: 状态无效'"`
|
||||
Remark string `json:"remark" comment:"备注" vd:"?"`
|
||||
}
|
||||
|
||||
func (s *SysCategoryControl) Bind(ctx *gin.Context) error {
|
||||
log := api.GetRequestLogger(ctx)
|
||||
err := ctx.ShouldBindUri(s)
|
||||
if err != nil {
|
||||
log.Debugf("ShouldBindUri error: %s", err.Error())
|
||||
return err
|
||||
log.Errorf("ShouldBindUri error: %s", err.Error())
|
||||
return errors.New("数据绑定出错")
|
||||
}
|
||||
err = ctx.ShouldBind(s)
|
||||
if err != nil {
|
||||
log.Debugf("ShouldBind error: %s", err.Error())
|
||||
log.Errorf("ShouldBind error: %s", err.Error())
|
||||
err = errors.New("数据绑定出错")
|
||||
}
|
||||
if err1 := vd.Validate(s); err != nil {
|
||||
log.Errorf("Validate error: %s", err1.Error())
|
||||
return err1
|
||||
}
|
||||
return err
|
||||
}
|
||||
@@ -83,7 +91,7 @@ func (s *SysCategoryControl) GetId() interface{} {
|
||||
}
|
||||
|
||||
type SysCategoryById struct {
|
||||
dto.ObjectById
|
||||
dto.ObjectById `vd:"?"`
|
||||
}
|
||||
|
||||
func (s *SysCategoryById) Generate() dto.Control {
|
||||
@@ -93,4 +101,4 @@ func (s *SysCategoryById) Generate() dto.Control {
|
||||
|
||||
func (s *SysCategoryById) GenerateM() (common.ActiveRecord, error) {
|
||||
return &models.SysCategory{}, nil
|
||||
}
|
||||
}
|
||||
@@ -97,7 +97,7 @@ func (s *SysConfigById) Generate() *SysConfigById {
|
||||
}
|
||||
|
||||
func (s *SysConfigById) GetId() interface{} {
|
||||
return s.Id
|
||||
return s.Ids
|
||||
}
|
||||
|
||||
func (s *SysConfigById) Bind(ctx *gin.Context) error {
|
||||
@@ -116,4 +116,4 @@ func (s *SysConfigById) Bind(ctx *gin.Context) error {
|
||||
|
||||
func (s *SysConfigById) GenerateM() (*system.SysConfig, error) {
|
||||
return &system.SysConfig{}, nil
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,8 @@ import (
|
||||
|
||||
type SysContentSearch struct {
|
||||
dto.Pagination `search:"-"`
|
||||
Name string `form:"name" search:"type:exact;column:name;table:sys_category" comment:"名称"`
|
||||
Status string `form:"status" search:"type:exact;column:status;table:sys_category" comment:"状态"`
|
||||
}
|
||||
|
||||
func (m *SysContentSearch) GetNeedSearch() interface{} {
|
||||
@@ -33,13 +35,13 @@ func (m *SysContentSearch) Generate() dto.Index {
|
||||
|
||||
type SysContentControl struct {
|
||||
ID int `uri:"ID" comment:""` //
|
||||
CateId string `json:"cateId" comment:""`
|
||||
CateId int `json:"cateId" comment:""`
|
||||
Name string `json:"name" comment:""`
|
||||
Status string `json:"status" comment:""`
|
||||
Status int `json:"status" comment:""`
|
||||
Img string `json:"img" comment:""`
|
||||
Content string `json:"content" comment:""`
|
||||
Remark string `json:"remark" comment:""`
|
||||
Sort string `json:"sort" comment:""`
|
||||
Sort int `json:"sort" comment:""`
|
||||
}
|
||||
|
||||
func (s *SysContentControl) Bind(ctx *gin.Context) error {
|
||||
@@ -63,7 +65,7 @@ func (s *SysContentControl) Generate() dto.Control {
|
||||
|
||||
func (s *SysContentControl) GenerateM() (common.ActiveRecord, error) {
|
||||
return &models.SysContent{
|
||||
Id: s.ID,
|
||||
Model: common.Model{s.ID},
|
||||
CateId: s.CateId,
|
||||
Name: s.Name,
|
||||
Status: s.Status,
|
||||
@@ -89,4 +91,4 @@ func (s *SysContentById) Generate() dto.Control {
|
||||
|
||||
func (s *SysContentById) GenerateM() (common.ActiveRecord, error) {
|
||||
return &models.SysContent{}, nil
|
||||
}
|
||||
}
|
||||
@@ -50,7 +50,7 @@ type SysRoleControl struct {
|
||||
Flag string `form:"flag" comment:"标记"` // 标记
|
||||
Remark string `form:"remark" comment:"备注"` // 备注
|
||||
Admin bool `form:"admin" comment:"是否管理员"`
|
||||
DataScope string `form:"dataScope" comment:"是否管理员"`
|
||||
DataScope string `form:"dataScope"`
|
||||
MenuIds []int `json:"menuIds"`
|
||||
}
|
||||
|
||||
@@ -123,4 +123,4 @@ type RoleDataScopeReq struct {
|
||||
|
||||
type DeptIdList struct {
|
||||
DeptId int `json:"DeptId"`
|
||||
}
|
||||
}
|
||||
@@ -113,5 +113,6 @@ func (s *SysUserById) GenerateM() (common.ActiveRecord, error) {
|
||||
|
||||
// PassWord 密码
|
||||
type PassWord struct {
|
||||
Password string `json:"password"`
|
||||
NewPassword string `json:"newPassword" binding:"required"`
|
||||
OldPassword string `json:"oldPassword" binding:"required"`
|
||||
}
|
||||
|
||||
@@ -59,9 +59,6 @@ func (s *SysChinaAreaDataControl) Generate() (*models.SysChinaAreaData, error) {
|
||||
Model: common.Model{Id: s.Id},
|
||||
PId: s.PId,
|
||||
Name: s.Name,
|
||||
CreateTime: s.CreateTime,
|
||||
UpdateTime: s.UpdateTime,
|
||||
DeleteTime: s.DeleteTime,
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -98,4 +95,4 @@ func (s *SysChinaAreaDataById) Bind(ctx *gin.Context) error {
|
||||
|
||||
func (s *SysChinaAreaDataById) SetUpdateBy(id int) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -18,10 +18,9 @@ type SysChinaAreaData struct {
|
||||
|
||||
// GetSysChinaAreaDataPage 获取SysChinaAreaData列表
|
||||
func (e *SysChinaAreaData) GetSysChinaAreaDataPage(c *dto.SysChinaAreaDataSearch, p *actions.DataPermission, list *[]models.SysChinaAreaData, count *int64) error {
|
||||
var err error
|
||||
var data models.SysChinaAreaData
|
||||
|
||||
err = e.Orm.Model(&data).
|
||||
err := e.Orm.Model(&data).
|
||||
Scopes(
|
||||
cDto.MakeCondition(c.GetNeedSearch()),
|
||||
cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
|
||||
@@ -30,7 +29,7 @@ func (e *SysChinaAreaData) GetSysChinaAreaDataPage(c *dto.SysChinaAreaDataSearch
|
||||
Find(list).Limit(-1).Offset(-1).
|
||||
Count(count).Error
|
||||
if err != nil {
|
||||
e.Log.Errorf("db error:%s", err)
|
||||
e.Log.Errorf("Service GetSysChinaAreaDataPage error:%s", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -38,22 +37,20 @@ func (e *SysChinaAreaData) GetSysChinaAreaDataPage(c *dto.SysChinaAreaDataSearch
|
||||
|
||||
// GetSysChinaAreaData 获取SysChinaAreaData对象
|
||||
func (e *SysChinaAreaData) GetSysChinaAreaData(d *dto.SysChinaAreaDataById, p *actions.DataPermission, model *models.SysChinaAreaData) error {
|
||||
var err error
|
||||
var data models.SysChinaAreaData
|
||||
|
||||
db := e.Orm.Model(&data).
|
||||
err := e.Orm.Model(&data).
|
||||
Scopes(
|
||||
actions.Permission(data.TableName(), p),
|
||||
).
|
||||
First(model, d.GetId())
|
||||
err = db.Error
|
||||
First(model, d.GetId()).Error
|
||||
if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
err = errors.New("查看对象不存在或无权查看")
|
||||
e.Log.Errorf("db error:%s", err)
|
||||
return err
|
||||
}
|
||||
if db.Error != nil {
|
||||
e.Log.Errorf("db error:%s", err)
|
||||
if err != nil {
|
||||
e.Log.Errorf("Service GetSysChinaAreaData error:%s", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -61,13 +58,12 @@ func (e *SysChinaAreaData) GetSysChinaAreaData(d *dto.SysChinaAreaDataById, p *a
|
||||
|
||||
// InsertSysChinaAreaData 创建SysChinaAreaData对象
|
||||
func (e *SysChinaAreaData) InsertSysChinaAreaData(model *models.SysChinaAreaData) error {
|
||||
var err error
|
||||
var data models.SysChinaAreaData
|
||||
|
||||
err = e.Orm.Model(&data).
|
||||
err := e.Orm.Model(&data).
|
||||
Create(model).Error
|
||||
if err != nil {
|
||||
e.Log.Errorf("db error:%s", err)
|
||||
e.Log.Errorf("Service InsertSysChinaAreaData error:%s", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -75,41 +71,36 @@ func (e *SysChinaAreaData) InsertSysChinaAreaData(model *models.SysChinaAreaData
|
||||
|
||||
// UpdateSysChinaAreaData 修改SysChinaAreaData对象
|
||||
func (e *SysChinaAreaData) UpdateSysChinaAreaData(c *models.SysChinaAreaData, p *actions.DataPermission) error {
|
||||
var err error
|
||||
var data models.SysChinaAreaData
|
||||
|
||||
db := e.Orm.Model(&data).
|
||||
db := e.Orm.Model(c).
|
||||
Scopes(
|
||||
actions.Permission(data.TableName(), p),
|
||||
actions.Permission(c.TableName(), p),
|
||||
).Where(c.GetId()).Updates(c)
|
||||
if db.Error != nil {
|
||||
e.Log.Errorf("db error:%s", err)
|
||||
if err := db.Error; err != nil {
|
||||
e.Log.Errorf("Service UpdateSysChinaAreaData error: %s", err)
|
||||
return err
|
||||
}
|
||||
if db.RowsAffected == 0 {
|
||||
return errors.New("无权更新该数据")
|
||||
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// RemoveSysChinaAreaData 删除SysChinaAreaData
|
||||
func (e *SysChinaAreaData) RemoveSysChinaAreaData(d *dto.SysChinaAreaDataById, p *actions.DataPermission) error {
|
||||
var err error
|
||||
|
||||
var data models.SysChinaAreaData
|
||||
|
||||
db := e.Orm.Model(&data).
|
||||
Scopes(
|
||||
actions.Permission(data.TableName(), p),
|
||||
).Delete(&data, d.GetId())
|
||||
if db.Error != nil {
|
||||
err = db.Error
|
||||
e.Log.Errorf("Delete error: %s", err)
|
||||
|
||||
if err := db.Error; err != nil {
|
||||
e.Log.Errorf("Service RemoveSysChinaAreaData error: %s", err)
|
||||
return err
|
||||
}
|
||||
if db.RowsAffected == 0 {
|
||||
err = errors.New("无权删除该数据")
|
||||
return err
|
||||
return errors.New("无权删除该数据")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
@@ -26,7 +26,7 @@ func (e *SysConfig) GetSysConfigPage(c *dto.SysConfigSearch, list *[]system.SysC
|
||||
Find(list).Limit(-1).Offset(-1).
|
||||
Count(count).Error
|
||||
if err != nil {
|
||||
e.Log.Errorf("db error:%s", err)
|
||||
e.Log.Errorf("Service GetSysConfigPage error:%s", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -42,7 +42,7 @@ func (e *SysConfig) GetSysConfigByKey(c *dto.SysConfigSearch, list *[]system.Sys
|
||||
).
|
||||
Find(list).Error
|
||||
if err != nil {
|
||||
e.Log.Errorf("db error:%s", err)
|
||||
e.Log.Errorf("Service GetSysConfigByKey error:%s", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -50,19 +50,17 @@ func (e *SysConfig) GetSysConfigByKey(c *dto.SysConfigSearch, list *[]system.Sys
|
||||
|
||||
// GetSysConfig 获取SysConfig对象
|
||||
func (e *SysConfig) GetSysConfig(d *dto.SysConfigById, model *system.SysConfig) error {
|
||||
var err error
|
||||
var data system.SysConfig
|
||||
|
||||
db := e.Orm.Model(&data).
|
||||
First(model, d.GetId())
|
||||
err = db.Error
|
||||
err := e.Orm.Model(&data).
|
||||
First(model, d.GetId()).Error
|
||||
if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
err = errors.New("查看对象不存在或无权查看")
|
||||
e.Log.Errorf("db error:%s", err)
|
||||
e.Log.Errorf("Service GetSysConfigPage error:%s", err)
|
||||
return err
|
||||
}
|
||||
if db.Error != nil {
|
||||
e.Log.Errorf("db error:%s", err)
|
||||
if err != nil {
|
||||
e.Log.Errorf("Service GetSysConfig error:%s", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -76,7 +74,7 @@ func (e *SysConfig) InsertSysConfig(model *system.SysConfig) error {
|
||||
err = e.Orm.Model(&data).
|
||||
Create(model).Error
|
||||
if err != nil {
|
||||
e.Log.Errorf("db error:%s", err)
|
||||
e.Log.Errorf("Service InsertSysConfig error:%s", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -85,12 +83,12 @@ func (e *SysConfig) InsertSysConfig(model *system.SysConfig) error {
|
||||
// UpdateSysConfig 修改SysConfig对象
|
||||
func (e *SysConfig) UpdateSysConfig(c *system.SysConfig) error {
|
||||
var err error
|
||||
var data system.SysConfig
|
||||
|
||||
db := e.Orm.Model(&data).
|
||||
db := e.Orm.Model(c).
|
||||
Where(c.GetId()).Updates(c)
|
||||
if db.Error != nil {
|
||||
e.Log.Errorf("db error:%s", err)
|
||||
err = db.Error
|
||||
if err != nil {
|
||||
e.Log.Errorf("Service UpdateSysConfig error:%s", err)
|
||||
return err
|
||||
}
|
||||
if db.RowsAffected == 0 {
|
||||
@@ -106,10 +104,10 @@ func (e *SysConfig) RemoveSysConfig(d *dto.SysConfigById, c *system.SysConfig) e
|
||||
var data system.SysConfig
|
||||
|
||||
db := e.Orm.Model(&data).
|
||||
Where(d.GetId()).Delete(c)
|
||||
Where(d.Ids).Delete(c)
|
||||
if db.Error != nil {
|
||||
err = db.Error
|
||||
e.Log.Errorf("Delete error: %s", err)
|
||||
e.Log.Errorf("Service RemoveSysConfig error:%s", err)
|
||||
return err
|
||||
}
|
||||
if db.RowsAffected == 0 {
|
||||
@@ -126,9 +124,9 @@ func (e *SysConfig) GetSysConfigByKEY(c *dto.SysConfigControl) error {
|
||||
data.ConfigKey = c.ConfigKey
|
||||
err = e.Orm.Table(data.TableName()).Where("config_key = ?", data.ConfigKey).First(c).Error
|
||||
if err != nil {
|
||||
e.Log.Errorf("db error:%s", err)
|
||||
e.Log.Errorf("Service GetSysConfigByKEY error:%s", err)
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package service
|
||||
|
||||
import (
|
||||
"errors"
|
||||
log "github.com/go-admin-team/go-admin-core/logger"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg"
|
||||
|
||||
"gorm.io/gorm"
|
||||
@@ -220,66 +221,66 @@ func (e *SysDept) deptPageCall(deptlist *[]system.SysDept, menu system.SysDept)
|
||||
return menu
|
||||
}
|
||||
|
||||
//// GetRoleDeptId 获取角色的部门ID集合
|
||||
//func (e *SysDept) GetRoleDeptId(roleId int) ([]int, error) {
|
||||
// deptIds := make([]int, 0)
|
||||
// deptList := make([]dto.DeptIdList, 0)
|
||||
// if err := e.Orm.Table("sys_role_dept").
|
||||
// Select("sys_role_dept.dept_id").
|
||||
// Joins("LEFT JOIN sys_dept on sys_dept.dept_id=sys_role_dept.dept_id").
|
||||
// Where("role_id = ? ", roleId).
|
||||
// Where(" sys_role_dept.dept_id not in(select sys_dept.parent_id from sys_role_dept LEFT JOIN sys_dept on sys_dept.dept_id=sys_role_dept.dept_id where role_id =? )", roleId).
|
||||
// Find(&deptList).Error; err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
//
|
||||
// for i := 0; i < len(deptList); i++ {
|
||||
// deptIds = append(deptIds, deptList[i].DeptId)
|
||||
// }
|
||||
//
|
||||
// return deptIds, nil
|
||||
//}
|
||||
//
|
||||
//func (e *SysDept) SetDeptLabel() (m []dto.DeptLabel, err error) {
|
||||
// list := make([]models.SysDept, 0)
|
||||
// err = e.Orm.Find(&list).Error
|
||||
// if err != nil {
|
||||
// log.Error("find dept list error, %s", e.err)
|
||||
// return
|
||||
// }
|
||||
//
|
||||
// m = make([]dto.DeptLabel, 0)
|
||||
// var item dto.DeptLabel
|
||||
// for i := range list {
|
||||
// if list[i].ParentId != 0 {
|
||||
// continue
|
||||
// }
|
||||
// item = dto.DeptLabel{}
|
||||
// item.Id = list[i].DeptId
|
||||
// item.Label = list[i].DeptName
|
||||
// deptInfo := digitDeptLabel(&list, item)
|
||||
//
|
||||
// m = append(m, deptInfo)
|
||||
// }
|
||||
// return
|
||||
//}
|
||||
//
|
||||
//// digitDeptLabel
|
||||
//func digitDeptLabel(deptList *[]models.SysDept, dept dto.DeptLabel) dto.DeptLabel {
|
||||
// list := *deptList
|
||||
//
|
||||
// var mi dto.DeptLabel
|
||||
// min := make([]dto.DeptLabel, 0)
|
||||
// for j := 0; j < len(list); j++ {
|
||||
//
|
||||
// if dept.Id != list[j].ParentId {
|
||||
// continue
|
||||
// }
|
||||
// mi = dto.DeptLabel{Id: list[j].DeptId, Label: list[j].DeptName, Children: []dto.DeptLabel{}}
|
||||
// ms := digitDeptLabel(deptList, mi)
|
||||
// min = append(min, ms)
|
||||
//
|
||||
// }
|
||||
// dept.Children = min
|
||||
// return dept
|
||||
//}
|
||||
// GetRoleDeptId 获取角色的部门ID集合
|
||||
func (e *SysDept) GetRoleDeptId(roleId int) ([]int, error) {
|
||||
deptIds := make([]int, 0)
|
||||
deptList := make([]dto.DeptIdList, 0)
|
||||
if err := e.Orm.Table("sys_role_dept").
|
||||
Select("sys_role_dept.dept_id").
|
||||
Joins("LEFT JOIN sys_dept on sys_dept.dept_id=sys_role_dept.dept_id").
|
||||
Where("role_id = ? ", roleId).
|
||||
Where(" sys_role_dept.dept_id not in(select sys_dept.parent_id from sys_role_dept LEFT JOIN sys_dept on sys_dept.dept_id=sys_role_dept.dept_id where role_id =? )", roleId).
|
||||
Find(&deptList).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for i := 0; i < len(deptList); i++ {
|
||||
deptIds = append(deptIds, deptList[i].DeptId)
|
||||
}
|
||||
|
||||
return deptIds, nil
|
||||
}
|
||||
|
||||
func (e *SysDept) SetDeptLabel() (m []dto.DeptLabel, err error) {
|
||||
list := make([]system.SysDept, 0)
|
||||
err = e.Orm.Find(&list).Error
|
||||
if err != nil {
|
||||
log.Error("find dept list error, %s", err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
m = make([]dto.DeptLabel, 0)
|
||||
var item dto.DeptLabel
|
||||
for i := range list {
|
||||
if list[i].ParentId != 0 {
|
||||
continue
|
||||
}
|
||||
item = dto.DeptLabel{}
|
||||
item.Id = list[i].DeptId
|
||||
item.Label = list[i].DeptName
|
||||
deptInfo := digitDeptLabel(&list, item)
|
||||
|
||||
m = append(m, deptInfo)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// digitDeptLabel
|
||||
func digitDeptLabel(deptList *[]system.SysDept, dept dto.DeptLabel) dto.DeptLabel {
|
||||
list := *deptList
|
||||
|
||||
var mi dto.DeptLabel
|
||||
min := make([]dto.DeptLabel, 0)
|
||||
for j := 0; j < len(list); j++ {
|
||||
|
||||
if dept.Id != list[j].ParentId {
|
||||
continue
|
||||
}
|
||||
mi = dto.DeptLabel{Id: list[j].DeptId, Label: list[j].DeptName, Children: []dto.DeptLabel{}}
|
||||
ms := digitDeptLabel(deptList, mi)
|
||||
min = append(min, ms)
|
||||
|
||||
}
|
||||
dept.Children = min
|
||||
return dept
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ func (e *SysOperaLog) GetSysOperaLogPage(c *dto.SysOperaLogSearch, list *[]syste
|
||||
Find(list).Limit(-1).Offset(-1).
|
||||
Count(count).Error
|
||||
if err != nil {
|
||||
e.Log.Errorf(" db error:%s", err)
|
||||
e.Log.Errorf("Service GetSysOperaLogPage error:%s", err.Error())
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -34,19 +34,17 @@ func (e *SysOperaLog) GetSysOperaLogPage(c *dto.SysOperaLogSearch, list *[]syste
|
||||
|
||||
// GetSysOperaLog 获取SysOperaLog对象
|
||||
func (e *SysOperaLog) GetSysOperaLog(d *dto.SysOperaLogById, model *system.SysOperaLog) error {
|
||||
var err error
|
||||
var data system.SysOperaLog
|
||||
|
||||
db := e.Orm.Model(&data).
|
||||
First(model, d.GetId())
|
||||
err = db.Error
|
||||
err := e.Orm.Model(&data).
|
||||
First(model, d.GetId()).Error
|
||||
if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
err = errors.New("查看对象不存在或无权查看")
|
||||
e.Log.Errorf(" db error:%s", err)
|
||||
e.Log.Errorf("Service GetSysOperaLog error:%s", err.Error())
|
||||
return err
|
||||
}
|
||||
if db.Error != nil {
|
||||
e.Log.Errorf(" db error:%s", err)
|
||||
if err != nil {
|
||||
e.Log.Errorf("Service GetSysOperaLog error:%s", err.Error())
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -60,7 +58,7 @@ func (e *SysOperaLog) InsertSysOperaLog(model *system.SysOperaLog) error {
|
||||
err = e.Orm.Model(&data).
|
||||
Create(model).Error
|
||||
if err != nil {
|
||||
e.Log.Errorf(" db error:%s", err)
|
||||
e.Log.Errorf("Service InsertSysOperaLog error:%s", err.Error())
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@@ -69,12 +67,11 @@ func (e *SysOperaLog) InsertSysOperaLog(model *system.SysOperaLog) error {
|
||||
// UpdateSysOperaLog 修改SysOperaLog对象
|
||||
func (e *SysOperaLog) UpdateSysOperaLog(c *system.SysOperaLog) error {
|
||||
var err error
|
||||
var data system.SysOperaLog
|
||||
|
||||
db := e.Orm.Model(&data).
|
||||
db := e.Orm.Model(c).
|
||||
Where(c.GetId()).Updates(c)
|
||||
if db.Error != nil {
|
||||
e.Log.Errorf(" db error:%s", err)
|
||||
if err = db.Error; err != nil {
|
||||
e.Log.Errorf("Service UpdateSysOperaLog error:%s", err.Error())
|
||||
return err
|
||||
}
|
||||
if db.RowsAffected == 0 {
|
||||
@@ -90,14 +87,12 @@ func (e *SysOperaLog) RemoveSysOperaLog(d *dto.SysOperaLogById) error {
|
||||
var data system.SysOperaLog
|
||||
|
||||
db := e.Orm.Model(&data).Where(d.Ids).Delete(&data)
|
||||
if db.Error != nil {
|
||||
err = db.Error
|
||||
e.Log.Errorf(" Delete error: %s", err)
|
||||
if err = db.Error; err != nil {
|
||||
e.Log.Errorf("Service RemoveSysOperaLog error:%s", err.Error())
|
||||
return err
|
||||
}
|
||||
if db.RowsAffected == 0 {
|
||||
err = errors.New("无权删除该数据")
|
||||
return err
|
||||
return errors.New("无权删除该数据")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
@@ -197,7 +197,7 @@ func (e *SysRole) UpdateDataScope(c *system.SysRole) (err error) {
|
||||
tx.Commit()
|
||||
}
|
||||
}()
|
||||
err = tx.Model(&system.SysRole{}).Where("role_id = ?", c.RoleId).Select("data_scope, update_by").Updates(c).Error
|
||||
err = tx.Model(&system.SysRole{}).Where("role_id = ?", c.RoleId).Select("data_scope", "update_by").Updates(c).Error
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -221,4 +221,4 @@ func (e *SysRole) UpdateDataScope(c *system.SysRole) (err error) {
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,8 @@ package service
|
||||
import (
|
||||
"errors"
|
||||
|
||||
log "github.com/go-admin-team/go-admin-core/logger"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"go-admin/app/admin/models/system"
|
||||
@@ -115,29 +117,46 @@ func (e *SysUser) RemoveSysUser(d cDto.Control, c common.ActiveRecord, p *action
|
||||
}
|
||||
|
||||
// UpdateSysUserPwd 修改SysUser对象密码
|
||||
func (e *SysUser) UpdateSysUserPwd(c *system.SysUser, p *actions.DataPermission) error {
|
||||
func (e *SysUser) UpdateSysUserPwd(id int, oldPassword, newPassword string, p *actions.DataPermission) error {
|
||||
var err error
|
||||
|
||||
if c.Password == "" {
|
||||
if newPassword == "" {
|
||||
return nil
|
||||
}
|
||||
c := &system.SysUser{}
|
||||
|
||||
err = c.Encrypt()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
db := e.Orm.Model(c).
|
||||
err = e.Orm.Model(c).
|
||||
Scopes(
|
||||
actions.Permission(c.TableName(), p),
|
||||
).Where(c.GetId()).Updates(c)
|
||||
if db.Error != nil {
|
||||
).Where(id).Select("UserId", "Password", "Salt").First(c).Error
|
||||
if err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
return errors.New("无权更新该数据")
|
||||
}
|
||||
e.Log.Errorf("db error: %s", err)
|
||||
return err
|
||||
}
|
||||
var ok bool
|
||||
ok, err = pkg.CompareHashAndPassword(c.Password, oldPassword)
|
||||
if err != nil {
|
||||
e.Log.Errorf("CompareHashAndPassword error, %s", err.Error())
|
||||
return err
|
||||
}
|
||||
if !ok {
|
||||
err = errors.New("incorrect Password")
|
||||
e.Log.Warnf("user[%d] %s", id, err.Error())
|
||||
return err
|
||||
}
|
||||
c.Password = newPassword
|
||||
db := e.Orm.Model(c).Where(id).Select("Password", "Salt").Updates(c)
|
||||
if err = db.Error; err != nil {
|
||||
e.Log.Errorf("db error: %s", err)
|
||||
return err
|
||||
}
|
||||
if db.RowsAffected == 0 {
|
||||
return errors.New("无权更新该数据")
|
||||
|
||||
err = errors.New("set password error")
|
||||
log.Warnf("db update error")
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
+39
-6
@@ -3,8 +3,6 @@ package api
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/go-admin-team/go-admin-core/sdk"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
@@ -13,14 +11,19 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/go-admin-team/go-admin-core/config/source/file"
|
||||
"github.com/go-admin-team/go-admin-core/sdk"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/config"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg/captcha"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg/logger"
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
"github.com/go-admin-team/go-admin-core/sdk/config"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg/logger"
|
||||
"go-admin/app/admin/models/system"
|
||||
"go-admin/app/admin/router"
|
||||
"go-admin/app/jobs"
|
||||
"go-admin/common/database"
|
||||
"go-admin/common/global"
|
||||
ext "go-admin/config"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -49,7 +52,8 @@ func init() {
|
||||
}
|
||||
|
||||
func setup() {
|
||||
|
||||
// 注入配置扩展项
|
||||
config.ExtendConfig = &ext.ExtConfig
|
||||
//1. 读取配置
|
||||
config.Setup(file.NewSource, file.WithPath(configYml))
|
||||
go config.Watch()
|
||||
@@ -63,10 +67,39 @@ func setup() {
|
||||
//3. 初始化数据库链接
|
||||
database.Setup()
|
||||
//4. 设置缓存
|
||||
sdk.Runtime.SetCacheAdapter(config.CacheConfig.Setup())
|
||||
cacheAdapter, err := config.CacheConfig.Setup()
|
||||
if err != nil {
|
||||
log.Fatalf("cache setup error, %s\n", err.Error())
|
||||
}
|
||||
sdk.Runtime.SetCacheAdapter(cacheAdapter)
|
||||
//5. 设置验证码store
|
||||
captcha.SetStore(captcha.NewCacheStore(cacheAdapter, 600))
|
||||
|
||||
//6. 设置队列
|
||||
if !config.QueueConfig.Empty() {
|
||||
queueAdapter, err := config.QueueConfig.Setup()
|
||||
if err != nil {
|
||||
log.Fatalf("queue setup error, %s\n", err.Error())
|
||||
}
|
||||
sdk.Runtime.SetQueueAdapter(queueAdapter)
|
||||
}
|
||||
|
||||
//7. 设置分布式锁
|
||||
if !config.LockerConfig.Empty() {
|
||||
lockerAdapter, err := config.LockerConfig.Setup()
|
||||
if err != nil {
|
||||
log.Fatalf("locker setup error, %s\n", err.Error())
|
||||
}
|
||||
sdk.Runtime.SetLockerAdapter(lockerAdapter)
|
||||
}
|
||||
|
||||
usageStr := `starting api server...`
|
||||
log.Println(usageStr)
|
||||
//注册监听函数
|
||||
queue := sdk.Runtime.GetMemoryQueue("")
|
||||
queue.Register(global.LoginLog, system.SaveLoginLog)
|
||||
queue.Register(global.OperateLog, system.SaveOperaLog)
|
||||
go queue.Run()
|
||||
}
|
||||
|
||||
func run() error {
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type ControlBy struct {
|
||||
CreateBy int `json:"createBy" gorm:"index;comment:创建者"`
|
||||
UpdateBy int `json:"updateBy" gorm:"index;comment:更新者"`
|
||||
}
|
||||
|
||||
type Model struct {
|
||||
Id int `json:"id" gorm:"primaryKey;autoIncrement;comment:主键编码"`
|
||||
}
|
||||
|
||||
type ModelTime struct {
|
||||
CreatedAt time.Time `json:"createdAt" gorm:"comment:创建时间"`
|
||||
UpdatedAt time.Time `json:"updatedAt" gorm:"comment:最后更新时间"`
|
||||
DeletedAt gorm.DeletedAt `json:"-" gorm:"index;comment:删除时间"`
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package models
|
||||
|
||||
//sys_casbin_rule
|
||||
type CasbinRule struct {
|
||||
PType string `json:"p_type" gorm:"size:100;"`
|
||||
V0 string `json:"v0" gorm:"size:100;"`
|
||||
V1 string `json:"v1" gorm:"size:100;"`
|
||||
V2 string `json:"v2" gorm:"size:100;"`
|
||||
V3 string `json:"v3" gorm:"size:100;"`
|
||||
V4 string `json:"v4" gorm:"size:100;"`
|
||||
V5 string `json:"v5" gorm:"size:100;"`
|
||||
}
|
||||
|
||||
func (CasbinRule) TableName() string {
|
||||
return "sys_casbin_rule"
|
||||
}
|
||||
+3
-8
@@ -1,8 +1,4 @@
|
||||
package version
|
||||
|
||||
import (
|
||||
"go-admin/app/admin/models"
|
||||
)
|
||||
package models
|
||||
|
||||
type DictData struct {
|
||||
DictCode int `gorm:"primaryKey;autoIncrement;" json:"dictCode" example:"1"` //字典编码
|
||||
@@ -15,10 +11,9 @@ type DictData struct {
|
||||
IsDefault string `gorm:"size:8;" json:"isDefault"` //
|
||||
Status string `gorm:"size:4;" json:"status"` //状态
|
||||
Default string `gorm:"size:8;" json:"default"` //
|
||||
CreateBy string `gorm:"size:64;" json:"createBy"` //
|
||||
UpdateBy string `gorm:"size:64;" json:"updateBy"` //
|
||||
Remark string `gorm:"size:255;" json:"remark"` //备注
|
||||
models.BaseModel
|
||||
ControlBy
|
||||
ModelTime
|
||||
}
|
||||
|
||||
func (DictData) TableName() string {
|
||||
+3
-8
@@ -1,18 +1,13 @@
|
||||
package version
|
||||
|
||||
import (
|
||||
"go-admin/app/admin/models"
|
||||
)
|
||||
package models
|
||||
|
||||
type DictType struct {
|
||||
DictId int `gorm:"primaryKey;autoIncrement;" json:"dictId"`
|
||||
DictName string `gorm:"size:128;" json:"dictName"` //字典名称
|
||||
DictType string `gorm:"size:128;" json:"dictType"` //字典类型
|
||||
Status string `gorm:"size:4;" json:"status"` //状态
|
||||
CreateBy string `gorm:"size:11;" json:"createBy"` //创建者
|
||||
UpdateBy string `gorm:"size:11;" json:"updateBy"` //更新者
|
||||
Remark string `gorm:"size:255;" json:"remark"` //备注
|
||||
models.BaseModel
|
||||
ControlBy
|
||||
ModelTime
|
||||
}
|
||||
|
||||
func (DictType) TableName() string {
|
||||
@@ -0,0 +1,55 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go-admin/common/global"
|
||||
"gorm.io/gorm"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func InitDb(db *gorm.DB) (err error) {
|
||||
filePath := "config/db.sql"
|
||||
err = ExecSql(db, filePath)
|
||||
if global.Driver == "postgres" {
|
||||
filePath = "config/pg.sql"
|
||||
err = ExecSql(db, filePath)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func ExecSql(db *gorm.DB, filePath string) error {
|
||||
sql, err := Ioutil(filePath)
|
||||
if err != nil {
|
||||
fmt.Println("数据库基础数据初始化脚本读取失败!原因:", err.Error())
|
||||
return err
|
||||
}
|
||||
sqlList := strings.Split(sql, ";")
|
||||
for i := 0; i < len(sqlList)-1; i++ {
|
||||
if strings.Contains(sqlList[i], "--") {
|
||||
fmt.Println(sqlList[i])
|
||||
continue
|
||||
}
|
||||
sql := strings.Replace(sqlList[i]+";", "\n", "", 0)
|
||||
sql = strings.TrimSpace(sql)
|
||||
if err = db.Exec(sql).Error; err != nil {
|
||||
log.Printf("error sql: %s", sql)
|
||||
if !strings.Contains(err.Error(), "Query was empty") {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func Ioutil(filePath string) (string, error) {
|
||||
if contents, err := ioutil.ReadFile(filePath); err == nil {
|
||||
//因为contents是[]byte类型,直接转换成string类型后会多一行空格,需要使用strings.Replace替换换行符
|
||||
result := strings.Replace(string(contents), "\n", "", 1)
|
||||
fmt.Println("Use ioutil.ReadFile to read a file:", result)
|
||||
return result, nil
|
||||
} else {
|
||||
return "", err
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
type BaseModel struct {
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
DeletedAt *time.Time `json:"deletedAt"`
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package models
|
||||
|
||||
type Post struct {
|
||||
PostId int `gorm:"primaryKey;autoIncrement" json:"postId"` //岗位编号
|
||||
PostName string `gorm:"size:128;" json:"postName"` //岗位名称
|
||||
PostCode string `gorm:"size:128;" json:"postCode"` //岗位代码
|
||||
Sort int `gorm:"" json:"sort"` //岗位排序
|
||||
Status string `gorm:"size:4;" json:"status"` //状态
|
||||
Remark string `gorm:"size:255;" json:"remark"` //描述
|
||||
ModelTime
|
||||
ControlBy
|
||||
}
|
||||
|
||||
func (Post) TableName() string {
|
||||
return "sys_post"
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package models
|
||||
|
||||
type SysRole struct {
|
||||
RoleId int `json:"roleId" gorm:"primaryKey;autoIncrement"` // 角色编码
|
||||
RoleName string `json:"roleName" gorm:"size:128;"` // 角色名称
|
||||
Status string `json:"status" gorm:"size:4;"` //
|
||||
RoleKey string `json:"roleKey" gorm:"size:128;"` //角色代码
|
||||
RoleSort int `json:"roleSort" gorm:""` //角色排序
|
||||
Flag string `json:"flag" gorm:"size:128;"` //
|
||||
Remark string `json:"remark" gorm:"size:255;"` //备注
|
||||
Admin bool `json:"admin" gorm:"size:4;"`
|
||||
DataScope string `json:"dataScope" gorm:"size:128;"`
|
||||
ModelTime
|
||||
ControlBy
|
||||
}
|
||||
|
||||
func (SysRole) TableName() string {
|
||||
return "sys_role"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package models
|
||||
|
||||
//sys_role_dept
|
||||
type SysRoleDept struct {
|
||||
RoleId int `gorm:"size:11;primaryKey"`
|
||||
DeptId int `gorm:"size:11;primaryKey"`
|
||||
}
|
||||
|
||||
func (SysRoleDept) TableName() string {
|
||||
return "sys_role_dept"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package models
|
||||
|
||||
type RoleMenu struct {
|
||||
RoleId int `gorm:""`
|
||||
MenuId int `gorm:""`
|
||||
RoleName string `gorm:"size:128)"`
|
||||
ControlBy
|
||||
}
|
||||
|
||||
func (RoleMenu) TableName() string {
|
||||
return "sys_role_menu"
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package models
|
||||
|
||||
type SysConfig struct {
|
||||
Model
|
||||
ConfigName string `json:"configName" gorm:"type:varchar(128);comment:ConfigName"` //
|
||||
ConfigKey string `json:"configKey" gorm:"type:varchar(128);comment:ConfigKey"` //
|
||||
ConfigValue string `json:"configValue" gorm:"type:varchar(255);comment:ConfigValue"` //
|
||||
ConfigType string `json:"configType" gorm:"type:varchar(64);comment:ConfigType"`
|
||||
IsFrontend int `json:"isFrontend" gorm:"type:varchar(64);comment:是否前台"` //
|
||||
Remark string `json:"remark" gorm:"type:varchar(128);comment:Remark"` //
|
||||
ControlBy
|
||||
ModelTime
|
||||
}
|
||||
|
||||
func (SysConfig) TableName() string {
|
||||
return "sys_config"
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package models
|
||||
|
||||
type SysDept struct {
|
||||
DeptId int `json:"deptId" gorm:"primaryKey;autoIncrement;"` //部门编码
|
||||
ParentId int `json:"parentId" gorm:""` //上级部门
|
||||
DeptPath string `json:"deptPath" gorm:"size:255;"` //
|
||||
DeptName string `json:"deptName" gorm:"size:128;"` //部门名称
|
||||
Sort int `json:"sort" gorm:""` //排序
|
||||
Leader string `json:"leader" gorm:"size:128;"` //负责人
|
||||
Phone string `json:"phone" gorm:"size:11;"` //手机
|
||||
Email string `json:"email" gorm:"size:64;"` //邮箱
|
||||
Status string `json:"status" gorm:"size:4;"` //状态
|
||||
ControlBy
|
||||
ModelTime
|
||||
}
|
||||
|
||||
func (SysDept) TableName() string {
|
||||
return "sys_dept"
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package models
|
||||
|
||||
type SysFileDir struct {
|
||||
Model
|
||||
Label string `json:"label" gorm:"type:varchar(255);comment:目录名称"` // 目录名称
|
||||
PId int `json:"pId" gorm:"type:int(11);comment:上级目录"` // 上级目录
|
||||
Sort string `json:"sort" gorm:"type:bigint(20);comment:排序"` // 排序
|
||||
Path string `json:"path" gorm:"type:varchar(255);comment:路径"` // 路径
|
||||
Children []SysFileDir `json:"children,omitempty" gorm:"-"` // 下级信息
|
||||
ControlBy
|
||||
ModelTime
|
||||
}
|
||||
|
||||
func (SysFileDir) TableName() string { /**/
|
||||
return "sys_file_dir"
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package models
|
||||
|
||||
type SysFileInfo struct {
|
||||
Model
|
||||
Type string `json:"type" gorm:"type:varchar(255);comment:类型"` //
|
||||
Name string `json:"name" gorm:"type:varchar(255);comment:名称"` //
|
||||
Size string `json:"size" gorm:"type:int(11);comment:大小"` //
|
||||
PId int `json:"pId" gorm:"type:int(11);comment:目录"` //
|
||||
Source string `json:"source" gorm:"type:varchar(255);comment:来源"` //
|
||||
Url string `json:"url" gorm:"type:varchar(255);comment:地址"` //
|
||||
FullUrl string `json:"fullUrl" gorm:"type:varchar(255);comment:全地址"` //
|
||||
ControlBy
|
||||
ModelTime
|
||||
}
|
||||
|
||||
func (SysFileInfo) TableName() string {
|
||||
return "sys_file_info"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
type SysLoginLog struct {
|
||||
Model
|
||||
Username string `json:"username" gorm:"type:varchar(128);comment:用户名"`
|
||||
Status string `json:"status" gorm:"type:varchar(4);comment:状态"`
|
||||
Ipaddr string `json:"ipaddr" gorm:"type:varchar(255);comment:ip地址"`
|
||||
LoginLocation string `json:"loginLocation" gorm:"type:varchar(255);comment:归属地"`
|
||||
Browser string `json:"browser" gorm:"type:varchar(255);comment:浏览器"`
|
||||
Os string `json:"os" gorm:"type:varchar(255);comment:系统"`
|
||||
Platform string `json:"platform" gorm:"type:varchar(255);comment:固件"`
|
||||
LoginTime time.Time `json:"loginTime" gorm:"type:timestamp;comment:登录时间"`
|
||||
Remark string `json:"remark" gorm:"type:varchar(255);comment:备注"`
|
||||
Msg string `json:"msg" gorm:"type:varchar(255);comment:信息"`
|
||||
CreatedAt time.Time `json:"createdAt" gorm:"comment:创建时间"`
|
||||
UpdatedAt time.Time `json:"updatedAt" gorm:"comment:最后更新时间"`
|
||||
ControlBy
|
||||
}
|
||||
|
||||
func (SysLoginLog) TableName() string {
|
||||
return "sys_login_log"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package models
|
||||
|
||||
type SysMenu struct {
|
||||
MenuId int `json:"menuId" gorm:"primaryKey;autoIncrement"`
|
||||
MenuName string `json:"menuName" gorm:"size:128;"`
|
||||
Title string `json:"title" gorm:"size:128;"`
|
||||
Icon string `json:"icon" gorm:"size:128;"`
|
||||
Path string `json:"path" gorm:"size:128;"`
|
||||
Paths string `json:"paths" gorm:"size:128;"`
|
||||
MenuType string `json:"menuType" gorm:"size:1;"`
|
||||
Action string `json:"action" gorm:"size:16;"`
|
||||
Permission string `json:"permission" gorm:"size:255;"`
|
||||
ParentId int `json:"parentId" gorm:"size:11;"`
|
||||
NoCache bool `json:"noCache" gorm:"size:8;"`
|
||||
Breadcrumb string `json:"breadcrumb" gorm:"size:255;"`
|
||||
Component string `json:"component" gorm:"size:255;"`
|
||||
Sort int `json:"sort" gorm:"size:4;"`
|
||||
Visible string `json:"visible" gorm:"size:1;"`
|
||||
IsFrame string `json:"isFrame" gorm:"size:1;DEFAULT:0;"`
|
||||
DataScope string `json:"dataScope" gorm:"-"`
|
||||
Params string `json:"params" gorm:"-"`
|
||||
ControlBy
|
||||
ModelTime
|
||||
}
|
||||
|
||||
func (SysMenu) TableName() string {
|
||||
return "sys_menu"
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
type SysOperaLog struct {
|
||||
Model
|
||||
Title string `json:"title" gorm:"type:varchar(255);comment:操作模块"`
|
||||
BusinessType string `json:"businessType" gorm:"type:varchar(128);comment:操作类型"`
|
||||
BusinessTypes string `json:"businessTypes" gorm:"type:varchar(128);comment:BusinessTypes"`
|
||||
Method string `json:"method" gorm:"type:varchar(128);comment:函数"`
|
||||
RequestMethod string `json:"requestMethod" gorm:"type:varchar(128);comment:请求方式"`
|
||||
OperatorType string `json:"operatorType" gorm:"type:varchar(128);comment:操作类型"`
|
||||
OperName string `json:"operName" gorm:"type:varchar(128);comment:操作者"`
|
||||
DeptName string `json:"deptName" gorm:"type:varchar(128);comment:部门名称"`
|
||||
OperUrl string `json:"operUrl" gorm:"type:varchar(255);comment:访问地址"`
|
||||
OperIp string `json:"operIp" gorm:"type:varchar(128);comment:客户端ip"`
|
||||
OperLocation string `json:"operLocation" gorm:"type:varchar(128);comment:访问位置"`
|
||||
OperParam string `json:"operParam" gorm:"type:varchar(255);comment:请求参数"`
|
||||
Status string `json:"status" gorm:"type:varchar(4);comment:操作状态"`
|
||||
OperTime time.Time `json:"operTime" gorm:"type:timestamp;comment:操作时间"`
|
||||
JsonResult string `json:"jsonResult" gorm:"type:varchar(255);comment:返回数据"`
|
||||
Remark string `json:"remark" gorm:"type:varchar(255);comment:备注"`
|
||||
LatencyTime string `json:"latencyTime" gorm:"type:varchar(128);comment:耗时"`
|
||||
UserAgent string `json:"userAgent" gorm:"type:varchar(255);comment:ua"`
|
||||
CreatedAt time.Time `json:"createdAt" gorm:"comment:创建时间"`
|
||||
UpdatedAt time.Time `json:"updatedAt" gorm:"comment:最后更新时间"`
|
||||
ControlBy
|
||||
}
|
||||
|
||||
func (SysOperaLog) TableName() string {
|
||||
return "sys_opera_log"
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type SysUser struct {
|
||||
ControlBy
|
||||
ModelTime
|
||||
UserId int `gorm:"primaryKey;autoIncrement;comment:编码" json:"userId"`
|
||||
Username string `json:"username" gorm:"type:varchar(64);comment:用户名"`
|
||||
Password string `json:"-" gorm:"type:varchar(128);comment:密码"`
|
||||
NickName string `json:"nickName" gorm:"type:varchar(128);comment:昵称"`
|
||||
Phone string `json:"phone" gorm:"type:varchar(11);comment:手机号"`
|
||||
RoleId int `json:"roleId" gorm:"type:bigint(20);comment:角色ID"`
|
||||
Salt string `json:"-" gorm:"type:varchar(255);comment:加盐"`
|
||||
Avatar string `json:"avatar" gorm:"type:varchar(255);comment:头像"`
|
||||
Sex string `json:"sex" gorm:"type:varchar(255);comment:性别"`
|
||||
Email string `json:"email" gorm:"type:varchar(128);comment:邮箱"`
|
||||
DeptId int `json:"deptId" gorm:"type:bigint(20);comment:部门"`
|
||||
PostId int `json:"postId" gorm:"type:bigint(20);comment:岗位"`
|
||||
Remark string `json:"remark" gorm:"type:varchar(255);comment:备注"`
|
||||
Status string `json:"status" gorm:"type:varchar(4);comment:状态"`
|
||||
}
|
||||
|
||||
func (SysUser) TableName() string {
|
||||
return "sys_user"
|
||||
}
|
||||
|
||||
//加密
|
||||
func (e *SysUser) Encrypt() (err error) {
|
||||
if e.Password == "" {
|
||||
return
|
||||
}
|
||||
|
||||
var hash []byte
|
||||
if hash, err = bcrypt.GenerateFromPassword([]byte(e.Password), bcrypt.DefaultCost); err != nil {
|
||||
return
|
||||
} else {
|
||||
e.Password = string(hash)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
func (e *SysUser) BeforeCreate(_ *gorm.DB) error {
|
||||
return e.Encrypt()
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package models
|
||||
|
||||
type SysCategory struct {
|
||||
Model
|
||||
Name string `json:"name" gorm:"type:varchar(255);comment:名称"` //
|
||||
Img string `json:"img" gorm:"type:varchar(255);comment:图标"` //
|
||||
Sort int `json:"sort" gorm:"type:int(4);comment:排序"` //
|
||||
Status int `json:"status" gorm:"type:int(1);comment:状态"` //
|
||||
Remark string `json:"remark" gorm:"type:varchar(255);comment:备注"` //
|
||||
ControlBy
|
||||
ModelTime
|
||||
}
|
||||
|
||||
func (SysCategory) TableName() string {
|
||||
return "sys_category"
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package models
|
||||
|
||||
type SysColumns struct {
|
||||
ColumnId int `gorm:"primaryKey;autoIncrement" json:"columnId"`
|
||||
TableId int `gorm:"" json:"tableId"`
|
||||
ColumnName string `gorm:"size:128;" json:"columnName"`
|
||||
ColumnComment string `gorm:"column:column_comment;size:128;" json:"columnComment"`
|
||||
ColumnType string `gorm:"column:column_type;size:128;" json:"columnType"`
|
||||
GoType string `gorm:"column:go_type;size:128;" json:"goType"`
|
||||
GoField string `gorm:"column:go_field;size:128;" json:"goField"`
|
||||
JsonField string `gorm:"column:json_field;size:128;" json:"jsonField"`
|
||||
IsPk string `gorm:"column:is_pk;size:4;" json:"isPk"`
|
||||
IsIncrement string `gorm:"column:is_increment;size:4;" json:"isIncrement"`
|
||||
IsRequired string `gorm:"column:is_required;size:4;" json:"isRequired"`
|
||||
IsInsert string `gorm:"column:is_insert;size:4;" json:"isInsert"`
|
||||
IsEdit string `gorm:"column:is_edit;size:4;" json:"isEdit"`
|
||||
IsList string `gorm:"column:is_list;size:4;" json:"isList"`
|
||||
IsQuery string `gorm:"column:is_query;size:4;" json:"isQuery"`
|
||||
QueryType string `gorm:"column:query_type;size:128;" json:"queryType"`
|
||||
HtmlType string `gorm:"column:html_type;size:128;" json:"htmlType"`
|
||||
DictType string `gorm:"column:dict_type;size:128;" json:"dictType"`
|
||||
Sort int `gorm:"column:sort;" json:"sort"`
|
||||
List string `gorm:"column:list;size:1;" json:"list"`
|
||||
Pk bool `gorm:"column:pk;size:1;" json:"pk"`
|
||||
Required bool `gorm:"column:required;size:1;" json:"required"`
|
||||
SuperColumn bool `gorm:"column:super_column;size:1;" json:"superColumn"`
|
||||
UsableColumn bool `gorm:"column:usable_column;size:1;" json:"usableColumn"`
|
||||
Increment bool `gorm:"column:increment;size:1;" json:"increment"`
|
||||
Insert bool `gorm:"column:insert;size:1;" json:"insert"`
|
||||
Edit bool `gorm:"column:edit;size:1;" json:"edit"`
|
||||
Query bool `gorm:"column:query;size:1;" json:"query"`
|
||||
Remark string `gorm:"column:remark;size:255;" json:"remark"`
|
||||
FkTableName string `gorm:"" json:"fkTableName"`
|
||||
FkTableNameClass string `gorm:"" json:"fkTableNameClass"`
|
||||
FkTableNamePackage string `gorm:"" json:"fkTableNamePackage"`
|
||||
FkLabelId string `gorm:"" json:"fkLabelId"`
|
||||
FkLabelName string `gorm:"size:255;" json:"fkLabelName"`
|
||||
ModelTime
|
||||
ControlBy
|
||||
}
|
||||
|
||||
func (SysColumns) TableName() string {
|
||||
return "sys_columns"
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package models
|
||||
|
||||
type SysContent struct {
|
||||
Model
|
||||
CateId int `json:"cateId" gorm:"type:int(11);comment:分类id"`
|
||||
Name string `json:"name" gorm:"type:varchar(255);comment:名称"`
|
||||
Status int `json:"status" gorm:"type:int(1);comment:状态"`
|
||||
Img string `json:"img" gorm:"type:varchar(255);comment:图片"`
|
||||
Content string `json:"content" gorm:"type:text;comment:内容"`
|
||||
Remark string `json:"remark" gorm:"type:varchar(255);comment:备注"`
|
||||
Sort int `json:"sort" gorm:"type:int(4);comment:排序"`
|
||||
ControlBy
|
||||
ModelTime
|
||||
}
|
||||
|
||||
// TableName
|
||||
func (SysContent) TableName() string {
|
||||
return "sys_content"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package models
|
||||
|
||||
type SysJob struct {
|
||||
JobId int `json:"jobId" gorm:"primaryKey;autoIncrement"` // 编码
|
||||
JobName string `json:"jobName" gorm:"size:255;"` // 名称
|
||||
JobGroup string `json:"jobGroup" gorm:"size:255;"` // 任务分组
|
||||
JobType int `json:"jobType" gorm:"size:1;"` // 任务类型
|
||||
CronExpression string `json:"cronExpression" gorm:"size:255;"` // cron表达式
|
||||
InvokeTarget string `json:"invokeTarget" gorm:"size:255;"` // 调用目标
|
||||
Args string `json:"args" gorm:"size:255;"` // 目标参数
|
||||
MisfirePolicy int `json:"misfirePolicy" gorm:"size:255;"` // 执行策略
|
||||
Concurrent int `json:"concurrent" gorm:"size:1;"` // 是否并发
|
||||
Status int `json:"status" gorm:"size:1;"` // 状态
|
||||
EntryId int `json:"entry_id" gorm:"size:11;"` // job启动时返回的id
|
||||
ModelTime
|
||||
ControlBy
|
||||
}
|
||||
|
||||
func (SysJob) TableName() string {
|
||||
return "sys_job"
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package models
|
||||
|
||||
type SysTables struct {
|
||||
TableId int `gorm:"primaryKey;autoIncrement" json:"tableId"` //表编码
|
||||
TBName string `gorm:"column:table_name;size:255;" json:"tableName"` //表名称
|
||||
TableComment string `gorm:"size:255;" json:"tableComment"` //表备注
|
||||
ClassName string `gorm:"size:255;" json:"className"` //类名
|
||||
TplCategory string `gorm:"size:255;" json:"tplCategory"` //
|
||||
PackageName string `gorm:"size:255;" json:"packageName"` //包名
|
||||
ModuleName string `gorm:"size:255;" json:"moduleName"` //模块名
|
||||
BusinessName string `gorm:"size:255;" json:"businessName"` //
|
||||
FunctionName string `gorm:"size:255;" json:"functionName"` //功能名称
|
||||
FunctionAuthor string `gorm:"size:255;" json:"functionAuthor"` //功能作者
|
||||
PkColumn string `gorm:"size:255;" json:"pkColumn"`
|
||||
PkGoField string `gorm:"size:255;" json:"pkGoField"`
|
||||
PkJsonField string `gorm:"size:255;" json:"pkJsonField"`
|
||||
Options string `gorm:"size:255;" json:"options"`
|
||||
TreeCode string `gorm:"size:255;" json:"treeCode"`
|
||||
TreeParentCode string `gorm:"size:255;" json:"treeParentCode"`
|
||||
TreeName string `gorm:"size:255;" json:"treeName"`
|
||||
Tree bool `gorm:"size:1;" json:"tree"`
|
||||
Crud bool `gorm:"size:1;" json:"crud"`
|
||||
Remark string `gorm:"size:255;" json:"remark"`
|
||||
IsDataScope int `gorm:"size:1;" json:"isDataScope"`
|
||||
IsActions int `gorm:"size:1;" json:"isActions"`
|
||||
IsAuth int `gorm:"size:1;" json:"isAuth"`
|
||||
IsLogicalDelete string `gorm:"size:1;" json:"isLogicalDelete"`
|
||||
LogicalDelete bool `gorm:"size:1;" json:"logicalDelete"`
|
||||
LogicalDeleteColumn string `gorm:"size:128;" json:"logicalDeleteColumn"`
|
||||
ModelTime
|
||||
ControlBy
|
||||
}
|
||||
|
||||
func (SysTables) TableName() string {
|
||||
return "sys_tables"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package models
|
||||
|
||||
type SysSetting struct {
|
||||
SettingsId int `json:"settings_id" gorm:"primary_key;AUTO_INCREMENT"`
|
||||
Name string `json:"name" gorm:"type:varchar(256);"`
|
||||
Logo string `json:"logo" gorm:"type:varchar(256);"`
|
||||
ModelTime
|
||||
}
|
||||
|
||||
func (SysSetting) TableName() string {
|
||||
return "sys_setting"
|
||||
}
|
||||
@@ -3,12 +3,10 @@ package version
|
||||
import (
|
||||
"runtime"
|
||||
|
||||
"go-admin/app/admin/models/system"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"go-admin/app/admin/models"
|
||||
"go-admin/app/admin/models/tools"
|
||||
"go-admin/cmd/migrate/migration"
|
||||
"go-admin/cmd/migrate/migration/models"
|
||||
common "go-admin/common/models"
|
||||
)
|
||||
|
||||
@@ -19,23 +17,23 @@ func init() {
|
||||
|
||||
func _1599190683659Tables(db *gorm.DB, version string) error {
|
||||
err := db.Debug().Migrator().AutoMigrate(
|
||||
new(system.CasbinRule),
|
||||
new(system.SysDept),
|
||||
new(system.SysConfig),
|
||||
new(tools.SysTables),
|
||||
new(tools.SysColumns),
|
||||
new(system.SysMenu),
|
||||
new(system.SysLoginLog),
|
||||
new(system.SysOperaLog),
|
||||
new(models.CasbinRule),
|
||||
new(models.SysDept),
|
||||
new(models.SysConfig),
|
||||
new(models.SysTables),
|
||||
new(models.SysColumns),
|
||||
new(models.SysMenu),
|
||||
new(models.SysLoginLog),
|
||||
new(models.SysOperaLog),
|
||||
new(models.RoleMenu),
|
||||
new(system.SysRoleDept),
|
||||
new(system.SysUser),
|
||||
new(system.SysRole),
|
||||
new(Post),
|
||||
new(DictData),
|
||||
new(DictType),
|
||||
new(models.SysRoleDept),
|
||||
new(models.SysUser),
|
||||
new(models.SysRole),
|
||||
new(models.Post),
|
||||
new(models.DictData),
|
||||
new(models.DictType),
|
||||
new(models.SysJob),
|
||||
new(system.SysConfig),
|
||||
new(models.SysConfig),
|
||||
new(models.SysSetting),
|
||||
new(models.SysFileDir),
|
||||
new(models.SysFileInfo),
|
||||
|
||||
@@ -6,9 +6,8 @@ import (
|
||||
|
||||
"gorm.io/gorm"
|
||||
|
||||
"go-admin/app/admin/models"
|
||||
"go-admin/app/admin/models/system"
|
||||
"go-admin/cmd/migrate/migration"
|
||||
"go-admin/cmd/migrate/migration/models"
|
||||
common "go-admin/common/models"
|
||||
)
|
||||
|
||||
@@ -20,50 +19,62 @@ func init() {
|
||||
func _1599190683670Test(db *gorm.DB, version string) error {
|
||||
return db.Transaction(func(tx *gorm.DB) error {
|
||||
|
||||
list3 := []system.SysDept{
|
||||
{DeptId: 1, ParentId: 0, DeptPath: "/0/1", DeptName: "爱拓科技", Sort: 0, Leader: "aituo", Phone: "13782218188", Email: "atuo@aituo.com", Status: "2", ControlBy: common.ControlBy{CreateBy: 1, UpdateBy: 1}, ModelTime: common.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DeptId: 7, ParentId: 1, DeptPath: "/0/1/7", DeptName: "研发部", Sort: 1, Leader: "aituo", Phone: "13782218188", Email: "atuo@aituo.com", Status: "2", ControlBy: common.ControlBy{CreateBy: 1, UpdateBy: 1}, ModelTime: common.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DeptId: 8, ParentId: 1, DeptPath: "/0/1/8", DeptName: "运维部", Sort: 0, Leader: "aituo", Phone: "13782218188", Email: "atuo@aituo.com", Status: "2", ControlBy: common.ControlBy{CreateBy: 1, UpdateBy: 1}, ModelTime: common.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DeptId: 9, ParentId: 1, DeptPath: "/0/1/9", DeptName: "客服部", Sort: 0, Leader: "aituo", Phone: "13782218188", Email: "atuo@aituo.com", Status: "2", ControlBy: common.ControlBy{CreateBy: 1, UpdateBy: 1}, ModelTime: common.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DeptId: 10, ParentId: 1, DeptPath: "/0/1/10", DeptName: "人力资源", Sort: 3, Leader: "aituo", Phone: "13782218188", Email: "atuo@aituo.com", Status: "1", ControlBy: common.ControlBy{CreateBy: 1, UpdateBy: 1}, ModelTime: common.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
list3 := []models.SysDept{
|
||||
{DeptId: 1, ParentId: 0, DeptPath: "/0/1", DeptName: "爱拓科技", Sort: 0, Leader: "aituo", Phone: "13782218188", Email: "atuo@aituo.com", Status: "2", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DeptId: 7, ParentId: 1, DeptPath: "/0/1/7", DeptName: "研发部", Sort: 1, Leader: "aituo", Phone: "13782218188", Email: "atuo@aituo.com", Status: "2", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DeptId: 8, ParentId: 1, DeptPath: "/0/1/8", DeptName: "运维部", Sort: 0, Leader: "aituo", Phone: "13782218188", Email: "atuo@aituo.com", Status: "2", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DeptId: 9, ParentId: 1, DeptPath: "/0/1/9", DeptName: "客服部", Sort: 0, Leader: "aituo", Phone: "13782218188", Email: "atuo@aituo.com", Status: "2", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DeptId: 10, ParentId: 1, DeptPath: "/0/1/10", DeptName: "人力资源", Sort: 3, Leader: "aituo", Phone: "13782218188", Email: "atuo@aituo.com", Status: "1", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
}
|
||||
|
||||
list4 := []system.SysConfig{
|
||||
{Model: common.Model{Id: 1}, ModelTime: common.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}, ControlBy: common.ControlBy{CreateBy: 1, UpdateBy: 1}, ConfigName: "主框架页-默认皮肤样式名称", ConfigKey: "sys_index_skinName", ConfigValue: "skin-blue", ConfigType: "Y", Remark: "蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow"},
|
||||
{Model: common.Model{Id: 2}, ModelTime: common.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}, ControlBy: common.ControlBy{CreateBy: 1, UpdateBy: 1}, ConfigName: "用户管理-账号初始密码", ConfigKey: "sys.user.initPassword", ConfigValue: "123456", ConfigType: "Y", Remark: "初始化密码 123456"},
|
||||
{Model: common.Model{Id: 3}, ModelTime: common.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}, ControlBy: common.ControlBy{CreateBy: 1, UpdateBy: 1}, ConfigName: "主框架页-侧边栏主题", ConfigKey: "sys_index_sideTheme", ConfigValue: "theme-dark", ConfigType: "Y", Remark: "深色主题theme-dark,浅色主题theme-light"},
|
||||
list4 := []models.SysConfig{
|
||||
{Model: models.Model{Id: 1}, ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}, ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, ConfigName: "主框架页-默认皮肤样式名称", ConfigKey: "sys_index_skinName", ConfigValue: "skin-blue", ConfigType: "Y", Remark: "蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow"},
|
||||
{Model: models.Model{Id: 2}, ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}, ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, ConfigName: "用户管理-账号初始密码", ConfigKey: "sys.user.initPassword", ConfigValue: "123456", ConfigType: "Y", Remark: "初始化密码 123456"},
|
||||
{Model: models.Model{Id: 3}, ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}, ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, ConfigName: "主框架页-侧边栏主题", ConfigKey: "sys_index_sideTheme", ConfigValue: "theme-dark", ConfigType: "Y", Remark: "深色主题theme-dark,浅色主题theme-light"},
|
||||
}
|
||||
|
||||
list5 := []Post{
|
||||
{PostId: 1, PostName: "首席执行官", PostCode: "CEO", Sort: 0, Status: "2", Remark: "首席执行官", CreateBy: "1", UpdateBy: "1", CreatedAt: time.Now(), UpdatedAt: time.Now()},
|
||||
{PostId: 2, PostName: "首席技术执行官", PostCode: "CTO", Sort: 2, Status: "2", Remark: "首席技术执行官", CreateBy: "1", UpdateBy: "1", CreatedAt: time.Now(), UpdatedAt: time.Now()},
|
||||
{PostId: 3, PostName: "首席运营官", PostCode: "COO", Sort: 3, Status: "2", Remark: "测试工程师", CreateBy: "1", UpdateBy: "1", CreatedAt: time.Now(), UpdatedAt: time.Now()},
|
||||
list5 := []models.Post{
|
||||
{PostId: 1, PostName: "首席执行官", PostCode: "CEO", Sort: 0, Status: "2", Remark: "首席执行官", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{PostId: 2, PostName: "首席技术执行官", PostCode: "CTO", Sort: 2, Status: "2", Remark: "首席技术执行官", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{PostId: 3, PostName: "首席运营官", PostCode: "COO", Sort: 3, Status: "2", Remark: "测试工程师", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
}
|
||||
|
||||
list6 := []models.SysRole{
|
||||
{1, "系统管理员", "2", "admin", 1, "", "1", "0", "", true, "", models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}, "", []int{}, []int{}},
|
||||
}
|
||||
|
||||
list7 := []DictType{
|
||||
{DictId: 1, DictName: "系统开关", DictType: "sys_normal_disable", Status: "2", CreateBy: "1", UpdateBy: "1", Remark: "系统开关列表", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 2, DictName: "用户性别", DictType: "sys_user_sex", Status: "2", CreateBy: "1", UpdateBy: "", Remark: "用户性别列表", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 3, DictName: "菜单状态", DictType: "sys_show_hide", Status: "2", CreateBy: "1", UpdateBy: "", Remark: "菜单状态列表", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 4, DictName: "系统是否", DictType: "sys_yes_no", Status: "2", CreateBy: "1", UpdateBy: "", Remark: "系统是否列表", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 5, DictName: "任务状态", DictType: "sys_job_status", Status: "2", CreateBy: "1", UpdateBy: "", Remark: "任务状态列表", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 6, DictName: "任务分组", DictType: "sys_job_group", Status: "2", CreateBy: "1", UpdateBy: "", Remark: "任务分组列表", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 7, DictName: "通知类型", DictType: "sys_notice_type", Status: "2", CreateBy: "1", UpdateBy: "", Remark: "通知类型列表", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 8, DictName: "系统状态", DictType: "sys_common_status", Status: "2", CreateBy: "1", UpdateBy: "", Remark: "登录状态列表", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 9, DictName: "操作类型", DictType: "sys_oper_type", Status: "2", CreateBy: "1", UpdateBy: "", Remark: "操作类型列表", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 10, DictName: "通知状态", DictType: "sys_notice_status", Status: "2", CreateBy: "1", UpdateBy: "", Remark: "通知状态列表", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
}
|
||||
|
||||
list8 := []system.SysUser{
|
||||
{
|
||||
ControlBy: common.ControlBy{
|
||||
RoleId: 1,
|
||||
RoleName: "系统管理员",
|
||||
Status: "2",
|
||||
RoleKey: "admin",
|
||||
RoleSort: 1,
|
||||
Flag: "",
|
||||
Remark: "",
|
||||
Admin: true,
|
||||
DataScope: "",
|
||||
ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()},
|
||||
ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1},
|
||||
},
|
||||
}
|
||||
|
||||
list7 := []models.DictType{
|
||||
{DictId: 1, DictName: "系统开关", DictType: "sys_normal_disable", Status: "2", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "系统开关列表", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 2, DictName: "用户性别", DictType: "sys_user_sex", Status: "2", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "用户性别列表", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 3, DictName: "菜单状态", DictType: "sys_show_hide", Status: "2", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "菜单状态列表", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 4, DictName: "系统是否", DictType: "sys_yes_no", Status: "2", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "系统是否列表", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 5, DictName: "任务状态", DictType: "sys_job_status", Status: "2", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "任务状态列表", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 6, DictName: "任务分组", DictType: "sys_job_group", Status: "2", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "任务分组列表", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 7, DictName: "通知类型", DictType: "sys_notice_type", Status: "2", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "通知类型列表", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 8, DictName: "系统状态", DictType: "sys_common_status", Status: "2", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "登录状态列表", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 9, DictName: "操作类型", DictType: "sys_oper_type", Status: "2", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "操作类型列表", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictId: 10, DictName: "通知状态", DictType: "sys_notice_status", Status: "2", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "通知状态列表", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
}
|
||||
|
||||
list8 := []models.SysUser{
|
||||
{
|
||||
ControlBy: models.ControlBy{
|
||||
CreateBy: 1,
|
||||
UpdateBy: 1,
|
||||
},
|
||||
ModelTime: common.ModelTime{
|
||||
ModelTime: models.ModelTime{
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
},
|
||||
@@ -85,47 +96,87 @@ func _1599190683670Test(db *gorm.DB, version string) error {
|
||||
//{models.SysUserId{1}, models.LoginM{models.UserName{"admin"}, models.PassWord{"$2a$10$cKFFTCzGOvaIHHJY2K45Zuwt8TD6oPzYi4s5MzYIBAWCLL6ZhouP2"}}, models.SysUserB{"zhangwj", "13818888888", 1, "", "", "0", "1@qq.com", 1, 1, "1", "1", "", "2", models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}, "", ""}},
|
||||
}
|
||||
|
||||
list9 := []DictData{
|
||||
{DictCode: 1, DictSort: 0, DictLabel: "正常", DictValue: "2", DictType: "sys_normal_disable", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "系统正常", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 2, DictSort: 0, DictLabel: "停用", DictValue: "1", DictType: "sys_normal_disable", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "系统停用", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 3, DictSort: 0, DictLabel: "男", DictValue: "0", DictType: "sys_user_sex", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "性别男", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 4, DictSort: 0, DictLabel: "女", DictValue: "1", DictType: "sys_user_sex", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "性别女", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 5, DictSort: 0, DictLabel: "未知", DictValue: "2", DictType: "sys_user_sex", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "性别未知", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 6, DictSort: 0, DictLabel: "显示", DictValue: "0", DictType: "sys_show_hide", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "显示菜单", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 7, DictSort: 0, DictLabel: "隐藏", DictValue: "1", DictType: "sys_show_hide", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "隐藏菜单", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 8, DictSort: 0, DictLabel: "是", DictValue: "Y", DictType: "sys_yes_no", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "系统默认是", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 9, DictSort: 0, DictLabel: "否", DictValue: "N", DictType: "sys_yes_no", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "系统默认否", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 10, DictSort: 0, DictLabel: "正常", DictValue: "2", DictType: "sys_job_status", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "正常状态", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 11, DictSort: 0, DictLabel: "停用", DictValue: "1", DictType: "sys_job_status", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "停用状态", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 12, DictSort: 0, DictLabel: "默认", DictValue: "DEFAULT", DictType: "sys_job_group", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "默认分组", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 13, DictSort: 0, DictLabel: "系统", DictValue: "SYSTEM", DictType: "sys_job_group", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "系统分组", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 14, DictSort: 0, DictLabel: "通知", DictValue: "1", DictType: "sys_notice_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "通知", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 15, DictSort: 0, DictLabel: "公告", DictValue: "2", DictType: "sys_notice_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "公告", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 16, DictSort: 0, DictLabel: "正常", DictValue: "0", DictType: "sys_common_status", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "正常状态", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 17, DictSort: 0, DictLabel: "关闭", DictValue: "1", DictType: "sys_common_status", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "关闭状态", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 18, DictSort: 0, DictLabel: "新增", DictValue: "1", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "新增操作", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 19, DictSort: 0, DictLabel: "修改", DictValue: "2", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "修改操作", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 20, DictSort: 0, DictLabel: "删除", DictValue: "3", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "删除操作", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 21, DictSort: 0, DictLabel: "授权", DictValue: "4", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "授权操作", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 22, DictSort: 0, DictLabel: "导出", DictValue: "5", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "导出操作", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 23, DictSort: 0, DictLabel: "导入", DictValue: "6", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "导入操作", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 24, DictSort: 0, DictLabel: "强退", DictValue: "7", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "强退操作", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 25, DictSort: 0, DictLabel: "生成代码", DictValue: "8", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "生成操作", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 26, DictSort: 0, DictLabel: "清空数据", DictValue: "9", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "清空操作", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 27, DictSort: 0, DictLabel: "成功", DictValue: "0", DictType: "sys_notice_status", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "成功状态", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 28, DictSort: 0, DictLabel: "失败", DictValue: "1", DictType: "sys_notice_status", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "", Remark: "失败状态", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 29, DictSort: 0, DictLabel: "登录", DictValue: "10", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "1", Remark: "登录操作", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 30, DictSort: 0, DictLabel: "退出", DictValue: "11", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "1", Remark: "", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 31, DictSort: 0, DictLabel: "获取验证码", DictValue: "12", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", CreateBy: "1", UpdateBy: "1", Remark: "获取验证码", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
list9 := []models.DictData{
|
||||
{DictCode: 1, DictSort: 0, DictLabel: "正常", DictValue: "2", DictType: "sys_normal_disable", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "系统正常", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 2, DictSort: 0, DictLabel: "停用", DictValue: "1", DictType: "sys_normal_disable", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "系统停用", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 3, DictSort: 0, DictLabel: "男", DictValue: "0", DictType: "sys_user_sex", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "性别男", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 4, DictSort: 0, DictLabel: "女", DictValue: "1", DictType: "sys_user_sex", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "性别女", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 5, DictSort: 0, DictLabel: "未知", DictValue: "2", DictType: "sys_user_sex", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "性别未知", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 6, DictSort: 0, DictLabel: "显示", DictValue: "0", DictType: "sys_show_hide", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "显示菜单", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 7, DictSort: 0, DictLabel: "隐藏", DictValue: "1", DictType: "sys_show_hide", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "隐藏菜单", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 8, DictSort: 0, DictLabel: "是", DictValue: "Y", DictType: "sys_yes_no", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "系统默认是", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 9, DictSort: 0, DictLabel: "否", DictValue: "N", DictType: "sys_yes_no", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "系统默认否", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 10, DictSort: 0, DictLabel: "正常", DictValue: "2", DictType: "sys_job_status", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "正常状态", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 11, DictSort: 0, DictLabel: "停用", DictValue: "1", DictType: "sys_job_status", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "停用状态", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 12, DictSort: 0, DictLabel: "默认", DictValue: "DEFAULT", DictType: "sys_job_group", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "默认分组", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 13, DictSort: 0, DictLabel: "系统", DictValue: "SYSTEM", DictType: "sys_job_group", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "系统分组", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 14, DictSort: 0, DictLabel: "通知", DictValue: "1", DictType: "sys_notice_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "通知", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 15, DictSort: 0, DictLabel: "公告", DictValue: "2", DictType: "sys_notice_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "公告", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 16, DictSort: 0, DictLabel: "正常", DictValue: "0", DictType: "sys_common_status", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "正常状态", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 17, DictSort: 0, DictLabel: "关闭", DictValue: "1", DictType: "sys_common_status", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "关闭状态", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 18, DictSort: 0, DictLabel: "新增", DictValue: "1", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "新增操作", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 19, DictSort: 0, DictLabel: "修改", DictValue: "2", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "修改操作", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 20, DictSort: 0, DictLabel: "删除", DictValue: "3", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "删除操作", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 21, DictSort: 0, DictLabel: "授权", DictValue: "4", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "授权操作", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 22, DictSort: 0, DictLabel: "导出", DictValue: "5", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "导出操作", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 23, DictSort: 0, DictLabel: "导入", DictValue: "6", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "导入操作", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 24, DictSort: 0, DictLabel: "强退", DictValue: "7", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "强退操作", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 25, DictSort: 0, DictLabel: "生成代码", DictValue: "8", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "生成操作", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 26, DictSort: 0, DictLabel: "清空数据", DictValue: "9", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "清空操作", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 27, DictSort: 0, DictLabel: "成功", DictValue: "0", DictType: "sys_notice_status", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "成功状态", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 28, DictSort: 0, DictLabel: "失败", DictValue: "1", DictType: "sys_notice_status", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "失败状态", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 29, DictSort: 0, DictLabel: "登录", DictValue: "10", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "登录操作", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 30, DictSort: 0, DictLabel: "退出", DictValue: "11", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{DictCode: 31, DictSort: 0, DictLabel: "获取验证码", DictValue: "12", DictType: "sys_oper_type", CssClass: "", ListClass: "", IsDefault: "", Status: "2", Default: "", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, Remark: "获取验证码", ModelTime: models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
}
|
||||
|
||||
list10 := []models.SysSetting{
|
||||
{1, "go-admin管理系统", "https://gitee.com/mydearzwj/image/raw/master/img/go-admin.png", common.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
{1, "go-admin管理系统", "https://gitee.com/mydearzwj/image/raw/master/img/go-admin.png", models.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
|
||||
}
|
||||
|
||||
list11 := []models.SysJob{
|
||||
{1, "接口测试", "DEFAULT", 1, "0/5 * * * * ", "http://localhost:8000", "", 1, 1, 1, 0, "", "", models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}, ""},
|
||||
{2, "函数测试", "DEFAULT", 2, "0/5 * * * * ", "ExamplesOne", "参数", 1, 1, 1, 0, "", "", models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}, ""},
|
||||
{
|
||||
JobId: 1,
|
||||
JobName: "接口测试",
|
||||
JobGroup: "DEFAULT",
|
||||
JobType: 1,
|
||||
CronExpression: "0/5 * * * * ",
|
||||
InvokeTarget: "http://localhost:8000",
|
||||
Args: "",
|
||||
MisfirePolicy: 1,
|
||||
Concurrent: 1,
|
||||
Status: 1,
|
||||
EntryId: 0,
|
||||
ControlBy: models.ControlBy{
|
||||
CreateBy: 1,
|
||||
UpdateBy: 1,
|
||||
},
|
||||
ModelTime: models.ModelTime{
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
},
|
||||
},
|
||||
models.SysJob{
|
||||
JobId: 2,
|
||||
JobName: "函数测试",
|
||||
JobGroup: "DEFAULT",
|
||||
JobType: 2,
|
||||
CronExpression: "0/5 * * * * ",
|
||||
InvokeTarget: "ExamplesOne",
|
||||
Args: "参数",
|
||||
MisfirePolicy: 1,
|
||||
Concurrent: 1,
|
||||
Status: 1,
|
||||
EntryId: 0,
|
||||
ControlBy: models.ControlBy{
|
||||
CreateBy: 1,
|
||||
UpdateBy: 1,
|
||||
},
|
||||
ModelTime: models.ModelTime{
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
err := tx.Create(list3).Error
|
||||
|
||||
@@ -5,8 +5,8 @@ import (
|
||||
|
||||
"gorm.io/gorm"
|
||||
|
||||
"go-admin/app/admin/models"
|
||||
"go-admin/cmd/migrate/migration"
|
||||
"go-admin/cmd/migrate/migration/models"
|
||||
common "go-admin/common/models"
|
||||
)
|
||||
|
||||
@@ -19,32 +19,32 @@ func _1599190683680Test(db *gorm.DB, version string) error {
|
||||
return db.Transaction(func(tx *gorm.DB) error {
|
||||
var err error
|
||||
|
||||
list := []models.Menu{
|
||||
{MenuId: 496, MenuName: "Sources", Title: "资源管理", Icon: "network", Path: "/sources", Paths: "/0/496", MenuType: "M", Action: "无", Permission: "", ParentId: 0, NoCache: true, Breadcrumb: "", Component: "Layout", Sort: 3, Visible: "0", CreateBy: "1", UpdateBy: "1", IsFrame: "1"},
|
||||
{MenuId: 497, MenuName: "File", Title: "文件管理", Icon: "documentation", Path: "file-manage", Paths: "/0/496/497", MenuType: "C", Action: "", Permission: "", ParentId: 496, NoCache: true, Breadcrumb: "", Component: "/fileManage/index", Sort: 0, Visible: "0", CreateBy: "1", UpdateBy: "1", IsFrame: "1"},
|
||||
{MenuId: 498, MenuName: "", Title: "内容管理", Icon: "pass", Path: "/content", Paths: "/0/498", MenuType: "M", Action: "无", Permission: "", ParentId: 0, NoCache: true, Breadcrumb: "", Component: "Layout", Sort: 4, Visible: "0", CreateBy: "1", UpdateBy: "1", IsFrame: "1"},
|
||||
{MenuId: 499, MenuName: "SysCategory", Title: "分类", Icon: "pass", Path: "syscategory", Paths: "/0/498/499", MenuType: "C", Action: "无", Permission: "syscategory:syscategory:list", ParentId: 498, NoCache: true, Breadcrumb: "", Component: "/syscategory/index", Sort: 0, Visible: "0", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 500, MenuName: "", Title: "分页获取分类", Icon: "pass", Path: "", Paths: "/0/498/499/500", MenuType: "F", Action: "无", Permission: "syscategory:syscategory:query", ParentId: 499, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "0", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 501, MenuName: "", Title: "创建分类", Icon: "pass", Path: "", Paths: "/0/498/499/501", MenuType: "F", Action: "无", Permission: "syscategory:syscategory:add", ParentId: 499, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "0", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 502, MenuName: "", Title: "修改分类", Icon: "pass", Path: "", Paths: "/0/498/499/502", MenuType: "F", Action: "无", Permission: "syscategory:syscategory:edit", ParentId: 499, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "0", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 503, MenuName: "", Title: "删除分类", Icon: "pass", Path: "", Paths: "/0/498/499/503", MenuType: "F", Action: "无", Permission: "syscategory:syscategory:remove", ParentId: 499, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "0", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 504, MenuName: "Category", Title: "分类", Icon: "bug", Path: "category", Paths: "/0/63/504", MenuType: "M", Action: "无", Permission: "", ParentId: 63, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 505, MenuName: "", Title: "分页获取分类", Icon: "bug", Path: "/api/v1/syscategoryList", Paths: "/0/63/504/505", MenuType: "A", Action: "GET", Permission: "", ParentId: 504, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 506, MenuName: "", Title: "根据id获取分类", Icon: "bug", Path: "/api/v1/syscategory/:id", Paths: "/0/63/504/506", MenuType: "A", Action: "GET", Permission: "", ParentId: 504, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 507, MenuName: "", Title: "创建分类", Icon: "bug", Path: "/api/v1/syscategory", Paths: "/0/63/504/507", MenuType: "A", Action: "POST", Permission: "", ParentId: 504, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 508, MenuName: "", Title: "修改分类", Icon: "bug", Path: "/api/v1/syscategory", Paths: "/0/63/504/508", MenuType: "A", Action: "PUT", Permission: "", ParentId: 504, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 509, MenuName: "", Title: "删除分类", Icon: "bug", Path: "/api/v1/syscategory/:id", Paths: "/0/63/504/509", MenuType: "A", Action: "DELETE", Permission: "", ParentId: 504, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 511, MenuName: "SysContent", Title: "内容管理", Icon: "pass", Path: "syscontent", Paths: "/0/498/511", MenuType: "C", Action: "无", Permission: "syscontent:syscontent:list", ParentId: 498, NoCache: true, Breadcrumb: "", Component: "/syscontent/index", Sort: 0, Visible: "0", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 512, MenuName: "", Title: "分页获取内容管理", Icon: "pass", Path: "", Paths: "/0/510/511/512", MenuType: "F", Action: "无", Permission: "syscontent:syscontent:query", ParentId: 511, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "0", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 513, MenuName: "", Title: "创建内容管理", Icon: "pass", Path: "", Paths: "/0/510/511/513", MenuType: "F", Action: "无", Permission: "syscontent:syscontent:add", ParentId: 511, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "0", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 514, MenuName: "", Title: "修改内容管理", Icon: "pass", Path: "", Paths: "/0/510/511/514", MenuType: "F", Action: "无", Permission: "syscontent:syscontent:edit", ParentId: 511, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "0", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 515, MenuName: "", Title: "删除内容管理", Icon: "pass", Path: "", Paths: "/0/510/511/515", MenuType: "F", Action: "无", Permission: "syscontent:syscontent:remove", ParentId: 511, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "0", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 516, MenuName: "Content", Title: "内容管理", Icon: "bug", Path: "content", Paths: "/0/63/516", MenuType: "M", Action: "无", Permission: "", ParentId: 63, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 517, MenuName: "", Title: "分页获取内容管理", Icon: "bug", Path: "/api/v1/syscontentList", Paths: "/0/63/516/517", MenuType: "A", Action: "GET", Permission: "", ParentId: 516, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 518, MenuName: "", Title: "根据id获取内容管理", Icon: "bug", Path: "/api/v1/syscontent/:id", Paths: "/0/63/516/518", MenuType: "A", Action: "GET", Permission: "", ParentId: 516, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 519, MenuName: "", Title: "创建内容管理", Icon: "bug", Path: "/api/v1/syscontent", Paths: "/0/63/516/519", MenuType: "A", Action: "POST", Permission: "", ParentId: 516, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 520, MenuName: "", Title: "修改内容管理", Icon: "bug", Path: "/api/v1/syscontent", Paths: "/0/63/516/520", MenuType: "A", Action: "PUT", Permission: "", ParentId: 516, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
{MenuId: 521, MenuName: "", Title: "删除内容管理", Icon: "bug", Path: "/api/v1/syscontent/:id", Paths: "/0/63/516/521", MenuType: "A", Action: "DELETE", Permission: "", ParentId: 516, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", CreateBy: "1", UpdateBy: "1", IsFrame: "0"},
|
||||
list := []models.SysMenu{
|
||||
{MenuId: 496, MenuName: "Sources", Title: "资源管理", Icon: "network", Path: "/sources", Paths: "/0/496", MenuType: "M", Action: "无", Permission: "", ParentId: 0, NoCache: true, Breadcrumb: "", Component: "Layout", Sort: 3, Visible: "0", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "1"},
|
||||
{MenuId: 497, MenuName: "File", Title: "文件管理", Icon: "documentation", Path: "file-manage", Paths: "/0/496/497", MenuType: "C", Action: "", Permission: "", ParentId: 496, NoCache: true, Breadcrumb: "", Component: "/fileManage/index", Sort: 0, Visible: "0", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "1"},
|
||||
{MenuId: 498, MenuName: "", Title: "内容管理", Icon: "pass", Path: "/content", Paths: "/0/498", MenuType: "M", Action: "无", Permission: "", ParentId: 0, NoCache: true, Breadcrumb: "", Component: "Layout", Sort: 4, Visible: "0", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "1"},
|
||||
{MenuId: 499, MenuName: "SysCategory", Title: "分类", Icon: "pass", Path: "syscategory", Paths: "/0/498/499", MenuType: "C", Action: "无", Permission: "syscategory:syscategory:list", ParentId: 498, NoCache: true, Breadcrumb: "", Component: "/syscategory/index", Sort: 0, Visible: "0", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 500, MenuName: "", Title: "分页获取分类", Icon: "pass", Path: "", Paths: "/0/498/499/500", MenuType: "F", Action: "无", Permission: "syscategory:syscategory:query", ParentId: 499, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "0", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 501, MenuName: "", Title: "创建分类", Icon: "pass", Path: "", Paths: "/0/498/499/501", MenuType: "F", Action: "无", Permission: "syscategory:syscategory:add", ParentId: 499, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "0", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 502, MenuName: "", Title: "修改分类", Icon: "pass", Path: "", Paths: "/0/498/499/502", MenuType: "F", Action: "无", Permission: "syscategory:syscategory:edit", ParentId: 499, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "0", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 503, MenuName: "", Title: "删除分类", Icon: "pass", Path: "", Paths: "/0/498/499/503", MenuType: "F", Action: "无", Permission: "syscategory:syscategory:remove", ParentId: 499, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "0", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 504, MenuName: "Category", Title: "分类", Icon: "bug", Path: "category", Paths: "/0/63/504", MenuType: "M", Action: "无", Permission: "", ParentId: 63, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 505, MenuName: "", Title: "分页获取分类", Icon: "bug", Path: "/api/v1/syscategoryList", Paths: "/0/63/504/505", MenuType: "A", Action: "GET", Permission: "", ParentId: 504, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 506, MenuName: "", Title: "根据id获取分类", Icon: "bug", Path: "/api/v1/syscategory/:id", Paths: "/0/63/504/506", MenuType: "A", Action: "GET", Permission: "", ParentId: 504, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 507, MenuName: "", Title: "创建分类", Icon: "bug", Path: "/api/v1/syscategory", Paths: "/0/63/504/507", MenuType: "A", Action: "POST", Permission: "", ParentId: 504, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 508, MenuName: "", Title: "修改分类", Icon: "bug", Path: "/api/v1/syscategory", Paths: "/0/63/504/508", MenuType: "A", Action: "PUT", Permission: "", ParentId: 504, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 509, MenuName: "", Title: "删除分类", Icon: "bug", Path: "/api/v1/syscategory/:id", Paths: "/0/63/504/509", MenuType: "A", Action: "DELETE", Permission: "", ParentId: 504, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 511, MenuName: "SysContent", Title: "内容管理", Icon: "pass", Path: "syscontent", Paths: "/0/498/511", MenuType: "C", Action: "无", Permission: "syscontent:syscontent:list", ParentId: 498, NoCache: true, Breadcrumb: "", Component: "/syscontent/index", Sort: 0, Visible: "0", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 512, MenuName: "", Title: "分页获取内容管理", Icon: "pass", Path: "", Paths: "/0/510/511/512", MenuType: "F", Action: "无", Permission: "syscontent:syscontent:query", ParentId: 511, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "0", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 513, MenuName: "", Title: "创建内容管理", Icon: "pass", Path: "", Paths: "/0/510/511/513", MenuType: "F", Action: "无", Permission: "syscontent:syscontent:add", ParentId: 511, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "0", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 514, MenuName: "", Title: "修改内容管理", Icon: "pass", Path: "", Paths: "/0/510/511/514", MenuType: "F", Action: "无", Permission: "syscontent:syscontent:edit", ParentId: 511, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "0", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 515, MenuName: "", Title: "删除内容管理", Icon: "pass", Path: "", Paths: "/0/510/511/515", MenuType: "F", Action: "无", Permission: "syscontent:syscontent:remove", ParentId: 511, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "0", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 516, MenuName: "Content", Title: "内容管理", Icon: "bug", Path: "content", Paths: "/0/63/516", MenuType: "M", Action: "无", Permission: "", ParentId: 63, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 517, MenuName: "", Title: "分页获取内容管理", Icon: "bug", Path: "/api/v1/syscontentList", Paths: "/0/63/516/517", MenuType: "A", Action: "GET", Permission: "", ParentId: 516, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 518, MenuName: "", Title: "根据id获取内容管理", Icon: "bug", Path: "/api/v1/syscontent/:id", Paths: "/0/63/516/518", MenuType: "A", Action: "GET", Permission: "", ParentId: 516, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 519, MenuName: "", Title: "创建内容管理", Icon: "bug", Path: "/api/v1/syscontent", Paths: "/0/63/516/519", MenuType: "A", Action: "POST", Permission: "", ParentId: 516, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 520, MenuName: "", Title: "修改内容管理", Icon: "bug", Path: "/api/v1/syscontent", Paths: "/0/63/516/520", MenuType: "A", Action: "PUT", Permission: "", ParentId: 516, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
{MenuId: 521, MenuName: "", Title: "删除内容管理", Icon: "bug", Path: "/api/v1/syscontent/:id", Paths: "/0/63/516/521", MenuType: "A", Action: "DELETE", Permission: "", ParentId: 516, NoCache: true, Breadcrumb: "", Component: "", Sort: 0, Visible: "1", ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1}, IsFrame: "0"},
|
||||
}
|
||||
|
||||
err = tx.Create(list).Error
|
||||
|
||||
@@ -5,8 +5,8 @@ import (
|
||||
|
||||
"gorm.io/gorm"
|
||||
|
||||
"go-admin/app/admin/models"
|
||||
"go-admin/cmd/migrate/migration"
|
||||
"go-admin/cmd/migrate/migration/models"
|
||||
common "go-admin/common/models"
|
||||
)
|
||||
|
||||
@@ -22,7 +22,7 @@ func _1600089797118Migrate(db *gorm.DB, version string) error {
|
||||
PId: 0,
|
||||
Sort: "0",
|
||||
Path: "",
|
||||
ControlBy: common.ControlBy{
|
||||
ControlBy: models.ControlBy{
|
||||
CreateBy: 1,
|
||||
UpdateBy: 1,
|
||||
},
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user