Compare commits

...
57 Commits
Author SHA1 Message Date
wenjianzhang eeaa05f5b4 Merge pull request #420 from go-admin-team/1.3.x
publish🚀 1.3.5
2021-05-13 14:58:16 +08:00
wenjianzhang 4904c9ed20 publish🚀 1.3.5 2021-05-13 10:49:04 +08:00
wenjianzhang 9a6f93854b Merge pull request #419 from go-admin-team/1.3.x
publish🚀  1.3.4
2021-05-13 10:47:51 +08:00
wenjianzhang 99699c0065 feat✨ 1.3.4 2021-05-13 10:46:49 +08:00
wenjianzhang 85685dbda1 Merge pull request #418 from go-admin-team/1.3.x
gen中修改创建人和修改人设置默认值
2021-05-13 10:43:45 +08:00
wenjianzhang 3a4bfe915b feat✨ gen中修改创建人和修改人为0 2021-05-13 09:18:06 +08:00
wenjianzhang 57067907d3 refactor🎨 参数设置删除修改 2021-05-10 17:25:43 +08:00
wenjianzhang d91ddf265d Merge pull request #417 from go-admin-team/1.3.x
1.3.x
2021-05-10 16:45:12 +08:00
wenjianzhang 59e8645f56 fix🐛 update 2021-05-10 16:44:21 +08:00
zhangwenjian ddc3a1d403 refactor🎨 初始化gen创建者信息 2021-05-10 01:18:13 +08:00
zhangwenjian 816b10681b refactor🎨 升级go.mod 2021-05-10 01:17:21 +08:00
wenjianzhang f4e07371c5 Merge pull request #413 from go-admin-team/1.3.x
fix🐛 gen问题修正
2021-05-08 17:17:55 +08:00
wenjianzhang 6a2557064c fix🐛 gen问题修正 2021-05-08 17:16:52 +08:00
wenjianzhang 4a592f515a fix🐛 文件管理\内容管理\分类程序\定时任务的已知问题(#397) 2021-05-08 17:11:59 +08:00
wenjianzhang 9bc2791b26 fix🐛 文件管理\内容管理\分类程序\定时任务的已知问题 2021-05-08 17:02:56 +08:00
wenjianzhang e126fd38bc publish🚀 1.3.3 2021-05-07 20:09:13 +08:00
wenjianzhang c6d94c03fb feat✨ 更新service 2021-05-07 19:57:45 +08:00
wenjianzhang 50a5d6f48d feat✨ 更新service 2021-05-07 19:57:09 +08:00
wenjianzhang 508a18a809 feat✨ 更新readme 2021-05-07 19:11:39 +08:00
wenjianzhang 946a53cb2b feat✨ 模版格式化 2021-05-07 19:02:06 +08:00
wenjianzhang c6ccd844f5 feat✨ 去除生成方法版本信息 2021-05-07 18:54:11 +08:00
wenjianzhang debe808f83 feat✨ 优化dto模版 2021-05-07 18:52:42 +08:00
wenjianzhang e219463505 feat✨ 升级模版 2021-05-07 18:46:12 +08:00
wenjianzhang 009866ee31 feat✨ :更新api写法,同步调整模版 2021-05-07 17:56:15 +08:00
linwenxiang 13ff9d9e63 feat ✨ 优化api写法 2021-04-27 10:06:22 +08:00
wenjianzhang 5957fb280c config🔧 :修改配置文件 2021-04-27 10:06:22 +08:00
wenjianzhang 44d196eaef config🔧 :修改配置文件 2021-04-27 10:06:22 +08:00
linwenxiang bf7934c20a fix 🐛 优化迁移功能 2021-04-26 14:47:31 +08:00
linwenxiang 845558cc65 fix 🐛 修复初始化数据库账号登录不了问题 2021-04-26 10:45:45 +08:00
lwnmengjing 22250dbbba Merge pull request #400 from go-admin-team/dev
migrate ✅ 优化migrate
2021-04-23 15:37:13 +08:00
linwenxiang 7290742ac0 dep ⬇️ 升级依赖 2021-04-23 15:33:59 +08:00
linwenxiang 97d9590d05 doc ✅ 修复swagger文档 2021-04-23 14:59:53 +08:00
linwenxiang 1a111f0666 migrate ✅ 优化migrate 2021-04-23 14:25:31 +08:00
linwenxiang e40047a88e feat ✨ 去除数据库写log对queue驱动的依赖,调整cache,分离出queue和locker 2021-04-20 11:08:46 +08:00
wenjianzhang 3df83cb057 Merge pull request #396 from jfcg/master
Create codeql-analysis.yml
2021-04-13 20:46:10 +08:00
Serhat Şevki Dinçer cfd284e42e rm schedule from codeql 2021-04-13 00:01:00 +03:00
Serhat Şevki Dinçer f21de0706a Create codeql-analysis.yml 2021-04-12 15:44:02 +03:00
wenjianzhang 7abe98b723 Merge branch 'dev' of https://github.com/go-admin-team/go-admin into dev 2021-04-09 12:33:45 +08:00
linwenxiang 413ca6d353 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	scripts/k8s/deploy.yml
2021-04-08 21:41:42 +08:00
linwenxiang b69bc87468 feat ✨ 验证码store支持go-admin cache 2021-04-08 21:33:36 +08:00
wenjianzhang a1a41f0a86 Merge branch 'dev' of https://github.com/go-admin-team/go-admin into dev 2021-04-08 18:43:53 +08:00
wenjianzhang 14db1e802c feat ✨: 添加字段验证 2021-04-08 18:43:17 +08:00
wenjianzhang 221a47423d fix🐛 :修改扩展配置文件名称 2021-04-08 17:17:13 +08:00
wenjianzhang daadb14618 fix🐛 :修改扩展配置文件名称 2021-04-08 17:13:42 +08:00
linwenxiang 40cd55da90 ci 💚 修改k8s yaml配置 2021-04-08 13:53:44 +08:00
linwenxiang eddfe26308 feat ✨ 验证码store支持go-admin cache 2021-04-07 23:01:32 +08:00
linwenxiang e034e5b1ea ci 💚 修改k8s yaml配置 2021-04-06 18:10:53 +08:00
linwenxiang 36bdeb3faa ci 💚 修改k8s yaml配置 2021-04-06 18:09:23 +08:00
linwenxiang 7112323a5e perf 👌: 统一配置参数 2021-03-31 21:56:38 +08:00
linwenxiang ea4ffb8867 Merge branch 'dev' 2021-03-31 21:07:16 +08:00
linwenxiang 225970c005 Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	go.mod
2021-03-31 21:02:59 +08:00
linwenxiang 24370899ab perf 👌: 升级go-admin-core依赖 2021-03-31 21:02:12 +08:00
wenjianzhang 510bdd94f9 docs📝 :修正版本信息 2021-03-31 19:45:07 +08:00
wenjianzhang 2a27c91656 config🔧 :core升级 2021-03-31 19:44:08 +08:00
wenjianzhang 3767274755 config🔧 :修改配置文件 2021-03-31 19:09:47 +08:00
wenjianzhang aefdb47c32 feat ✨: 配置文件扩展项使用 2021-03-31 19:06:25 +08:00
wenjianzhang 30feaae7e7 fix🐛 :修复文件路径判断函数 (#382) 2021-03-31 18:59:58 +08:00
135 changed files with 2212 additions and 1795 deletions
+51
View File
@@ -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
+60
View File
@@ -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'
+1 -1
View File
@@ -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"]
+34 -4
View File
@@ -156,15 +156,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
# macOS or linux 下使用
$ ./go-admin server -c config/settings.yml
# ⚠️注意:windows 下使用
$ go-admin.exe server -c config/settings.yml
```
#### 使用docker 编译启动
@@ -188,10 +217,11 @@ go generate
#### 交叉编译
```bash
# windows
env GOOS=windows GOARCH=amd64 go build main.go
# or
# linux
env GOOS=linux GOARCH=amd64 go build main.go
```
+3 -2
View File
@@ -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,
+34 -16
View File
@@ -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(), "删除成功")
}
-84
View File
@@ -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)
//}
+37 -32
View File
@@ -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, "删除成功")
}
+38 -33
View File
@@ -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 -13
View File
@@ -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)
}
+62 -54
View File
@@ -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,7 +325,7 @@ 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
}
@@ -332,10 +338,10 @@ func (e *SysUser) SysUserUpdatePwd(c *gin.Context) {
err = serviceSysUser.UpdateSysUserPwd(user.GetUserId(c), pwd.OldPassword, pwd.NewPassword, p)
if err != nil {
log.Error(err)
e.Error(c, http.StatusForbidden, err, "密码修改失败")
e.Error(http.StatusForbidden, err, "密码修改失败")
return
}
e.OK(c, nil, "密码修改成功")
e.OK(nil, "密码修改成功")
}
// @Summary 获取个人中心用户
@@ -344,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
@@ -362,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,
@@ -403,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
@@ -424,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{})
@@ -446,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
}
@@ -460,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, "")
}
+5 -4
View File
@@ -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,
+43 -37
View File
@@ -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, "查询成功")
}
+41 -35
View File
@@ -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, "查询成功")
}
-67
View File
@@ -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
//}
+14 -12
View File
@@ -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, "提交成功")
}
+63 -56
View File
@@ -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)
}
+50 -43
View File
@@ -27,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
@@ -39,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
}
@@ -49,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 部门列表数据
@@ -64,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
@@ -76,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
@@ -86,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 添加部门
@@ -103,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
@@ -115,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
}
// 设置创建人
@@ -132,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 修改部门
@@ -150,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
@@ -162,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))
@@ -180,7 +184,7 @@ func (e *SysDept) UpdateSysDept(c *gin.Context) {
log.Error(err)
return
}
e.OK(c, object.GetId(), "更新成功")
e.OK(object.GetId(), "更新成功")
}
// @Summary 删除部门
@@ -190,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
@@ -203,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
}
@@ -213,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
@@ -232,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
}
@@ -242,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
}
@@ -252,12 +258,13 @@ 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 := e.GetOrm(c)
func (e SysDept) GetDeptTreeRoleSelect(c *gin.Context) {
e.Context = c
log := e.GetLogger()
db, err := e.GetOrm()
if err != nil {
log.Error(err)
return
@@ -270,17 +277,17 @@ func (e *SysDept) GetDeptTreeRoleSelect(c *gin.Context) {
result, err := s.SetDeptLabel()
if err != nil {
log.Errorf("SetDeptLabel error, %s", err.Error())
e.Error(c, http.StatusInternalServerError, err, "")
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(c, http.StatusInternalServerError, err, "")
e.Error(http.StatusInternalServerError, err, "")
}
}
e.OK(c, gin.H{
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(), "删除成功")
}
+59 -52
View File
@@ -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(), "删除成功")
}
+35 -30
View File
@@ -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(), "删除成功")
}
+46 -40
View File
@@ -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, "操作成功")
}
+5 -4
View File
@@ -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, "查询成功")
}
+6 -5
View File
@@ -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
View File
@@ -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("", "数据生成成功!")
}
+46 -40
View File
@@ -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, "删除成功")
}
-87
View File
@@ -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)
}
+2 -1
View File
@@ -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 {
+4 -3
View File
@@ -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:"-"`
-231
View File
@@ -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
//
//}
@@ -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
+4 -3
View File
@@ -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 {
+2 -2
View File
@@ -5,9 +5,9 @@ import (
"errors"
"time"
"github.com/go-admin-team/go-admin-core/cache"
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"
)
@@ -43,7 +43,7 @@ func (e *SysLoginLog) GetId() interface{} {
}
// SaveLoginLog 从队列中获取登录日志
func SaveLoginLog(message cache.Message) (err error) {
func SaveLoginLog(message storage.Messager) (err error) {
//准备db
db := sdk.Runtime.GetDbByKey(message.GetPrefix())
if db == nil {
+2 -2
View File
@@ -5,9 +5,9 @@ import (
"errors"
"time"
"github.com/go-admin-team/go-admin-core/cache"
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"
)
@@ -51,7 +51,7 @@ func (e *SysOperaLog) GetId() interface{} {
}
// SaveOperaLog 从队列中获取操作日志
func SaveOperaLog(message cache.Message) (err error) {
func SaveOperaLog(message storage.Messager) (err error) {
//准备db
db := sdk.Runtime.GetDbByKey(message.GetPrefix())
if db == nil {
+4 -2
View File
@@ -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
}
+4 -2
View File
@@ -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
}
@@ -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)
+3 -3
View File
@@ -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)
}
}
}
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+18 -15
View File
@@ -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)
@@ -169,8 +172,8 @@ func registerBaseRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddlewar
//}
func registerDictRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
dictApi := &dict.SysDictType{}
dataApi := &dict.SysDictData{}
dictApi := dict.SysDictType{}
dataApi := dict.SysDictData{}
dicts := v1.Group("/dict").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
{
@@ -201,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)
@@ -213,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)
}
}
+1 -1
View File
@@ -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)
+25 -12
View File
@@ -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:"状态"`
CateId int `form:"cateId" search:"type:exact;column:cate_id;table:sys_category" comment:"分类id"`
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
}
@@ -36,23 +44,28 @@ 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 int `json:"sort" comment:"排序"`
Status int `json:"status" comment:"状态"`
Remark string `json:"remark" 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
}
@@ -78,7 +91,7 @@ func (s *SysCategoryControl) GetId() interface{} {
}
type SysCategoryById struct {
dto.ObjectById
dto.ObjectById `vd:"?"`
}
func (s *SysCategoryById) Generate() dto.Control {
+2 -2
View File
@@ -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
}
}
@@ -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
}
}
+16 -18
View File
@@ -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
}
}
+14 -19
View File
@@ -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
}
}
+28 -3
View File
@@ -14,6 +14,7 @@ import (
"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"
@@ -22,6 +23,7 @@ import (
"go-admin/app/jobs"
"go-admin/common/database"
"go-admin/common/global"
ext "go-admin/config"
)
var (
@@ -50,7 +52,8 @@ func init() {
}
func setup() {
// 注入配置扩展项
config.ExtendConfig = &ext.ExtConfig
//1. 读取配置
config.Setup(file.NewSource, file.WithPath(configYml))
go config.Watch()
@@ -69,12 +72,34 @@ func setup() {
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)
//注册监听函数
sdk.Runtime.GetCacheAdapter().Register(global.LoginLog, system.SaveLoginLog)
sdk.Runtime.GetCacheAdapter().Register(global.OperateLog, system.SaveOperaLog)
queue := sdk.Runtime.GetMemoryQueue("")
queue.Register(global.LoginLog, system.SaveLoginLog)
queue.Register(global.OperateLog, system.SaveOperaLog)
go queue.Run()
}
func run() error {
+22
View File
@@ -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"
}
@@ -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 {
@@ -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 {
+55
View File
@@ -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
}
}
+11
View File
@@ -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"`
}
+16
View File
@@ -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"
}
+19
View File
@@ -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"
}
+11
View File
@@ -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"
}
+12
View File
@@ -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"
}
+19
View File
@@ -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"
}
+28
View File
@@ -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"
}
+48
View File
@@ -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"
}
+21
View File
@@ -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"
}
+36
View File
@@ -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"
}
+12
View File
@@ -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,
},
@@ -5,9 +5,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"
)
@@ -18,13 +17,13 @@ func init() {
func _1602644950000Test(db *gorm.DB, version string) error {
return db.Transaction(func(tx *gorm.DB) error {
if tx.Migrator().HasColumn(&system.SysConfig{}, "config_id") {
err := tx.Migrator().RenameColumn(&system.SysConfig{}, "config_id", "id")
if tx.Migrator().HasColumn(&models.SysConfig{}, "config_id") {
err := tx.Migrator().RenameColumn(&models.SysConfig{}, "config_id", "id")
if err != nil {
return err
}
}
list2 := []system.CasbinRule{
list2 := []models.CasbinRule{
{PType: "p", V0: "admin", V1: "/api/v1/config", V2: "GET"},
}
err := tx.Create(list2).Error
@@ -32,7 +31,7 @@ func _1602644950000Test(db *gorm.DB, version string) error {
return err
}
menu := models.Menu{MenuId: 86, Path: "/api/v1/config"}
menu := models.SysMenu{MenuId: 86, Path: "/api/v1/config"}
err = tx.Model(&menu).Where("menu_id = ?", 86).Update("Path", "/api/v1/config").Error
if err != nil {
return err
@@ -1,12 +1,12 @@
package version
import (
"go-admin/app/admin/models"
//"go-admin/app/admin/models"
"gorm.io/gorm"
"runtime"
"gorm.io/gorm"
"go-admin/cmd/migrate/migration"
"go-admin/cmd/migrate/migration/models"
common "go-admin/common/models"
)
@@ -17,7 +17,7 @@ func init() {
func _1603465014697Test(db *gorm.DB, version string) error {
return db.Transaction(func(tx *gorm.DB) error {
err := tx.Debug().Model(&models.Menu{}).Where("path = ?", "/api/v1/syscategoryList").Update("path", "/api/v1/syscategory").Error
err := tx.Debug().Model(&models.SysMenu{}).Where("path = ?", "/api/v1/syscategoryList").Update("path", "/api/v1/syscategory").Error
if err != nil {
return err
}
@@ -1,13 +1,13 @@
package version
import (
"runtime"
"gorm.io/gorm"
"go-admin/app/admin/models/system"
"go-admin/cmd/migrate/migration"
"go-admin/cmd/migrate/migration/models"
common "go-admin/common/models"
"runtime"
)
func init() {
@@ -20,15 +20,15 @@ func _1603516925109Test(db *gorm.DB, version string) error {
_ = tx.Migrator().RenameTable("sys_operlog", "sys_opera_log")
_ = tx.Migrator().RenameTable("sys_loginlog", "sys_login_log")
if tx.Migrator().HasColumn(&system.SysLoginLog{}, "info_id") {
err := tx.Migrator().RenameColumn(&system.SysLoginLog{}, "info_id", "id")
if tx.Migrator().HasColumn(&models.SysLoginLog{}, "info_id") {
err := tx.Migrator().RenameColumn(&models.SysLoginLog{}, "info_id", "id")
if err != nil {
return err
}
}
if tx.Migrator().HasColumn(&system.SysOperaLog{}, "oper_id") {
err := tx.Migrator().RenameColumn(&system.SysOperaLog{}, "oper_id", "id")
if tx.Migrator().HasColumn(&models.SysOperaLog{}, "oper_id") {
err := tx.Migrator().RenameColumn(&models.SysOperaLog{}, "oper_id", "id")
if err != nil {
return err
}
@@ -1,13 +1,12 @@
package version
import (
"go-admin/app/admin/models/system"
//"go-admin/app/admin/models"
"gorm.io/gorm"
"runtime"
"gorm.io/gorm"
"go-admin/cmd/migrate/migration"
"go-admin/cmd/migrate/migration/models"
common "go-admin/common/models"
)
@@ -19,19 +18,19 @@ func init() {
func _1606579402398Test(db *gorm.DB, version string) error {
return db.Transaction(func(tx *gorm.DB) error {
dicData := DictData{}
dicData := models.DictData{}
err := tx.Model(&dicData).Where("dict_code = ?", 1).Update("dict_value", 2).Error
if err != nil {
return err
}
dicType := DictType{}
dicType := models.DictType{}
err = tx.Model(&dicType).Where("status = ?", 0).Update("status", 2).Error
if err != nil {
return err
}
user := system.SysUser{}
user := models.SysUser{}
err = tx.Model(&user).Where("user_id = ?", 1).Update("status", 2).Error
if err != nil {
return err
@@ -1,13 +1,12 @@
package version
import (
"go-admin/app/admin/models/system"
//"go-admin/app/admin/models"
"gorm.io/gorm"
"runtime"
"gorm.io/gorm"
"go-admin/cmd/migrate/migration"
"go-admin/cmd/migrate/migration/models"
common "go-admin/common/models"
)
@@ -19,13 +18,13 @@ func init() {
func _1606582844753Test(db *gorm.DB, version string) error {
return db.Transaction(func(tx *gorm.DB) error {
dept := system.SysDept{}
dept := models.SysDept{}
err := tx.Model(&dept).Where("status = ?", 0).Update("status", 2).Error
if err != nil {
return err
}
dictData := DictData{}
dictData := models.DictData{}
err = tx.Model(&dictData).Where("status = ?", 0).Update("status", 2).Error
if err != nil {
return err
@@ -1,13 +1,12 @@
package version
import (
"go-admin/app/admin/models/system"
//"go-admin/app/admin/models"
"gorm.io/gorm"
"runtime"
"gorm.io/gorm"
"go-admin/cmd/migrate/migration"
"go-admin/cmd/migrate/migration/models"
common "go-admin/common/models"
)
@@ -20,7 +19,7 @@ func _1610427732413Test(db *gorm.DB, version string) error {
return db.Transaction(func(tx *gorm.DB) error {
// TODO: 这里开始写入要变更的内容
user := system.SysUser{}
user := models.SysUser{}
err := tx.Model(&user).Where("status = ?", 0).Update("status", 2).Error
if err != nil {
return err
@@ -1,13 +1,12 @@
package version
import (
"go-admin/app/admin/models/system"
//"go-admin/app/admin/models"
"gorm.io/gorm"
"runtime"
"gorm.io/gorm"
"go-admin/cmd/migrate/migration"
"go-admin/cmd/migrate/migration/models"
common "go-admin/common/models"
)
@@ -20,13 +19,13 @@ func _1610804233204Test(db *gorm.DB, version string) error {
return db.Transaction(func(tx *gorm.DB) error {
// TODO: 这里开始写入要变更的内容
post := system.SysPost{}
post := models.Post{}
err := tx.Model(&post).Where("status = ?", 0).Update("status", 2).Error
if err != nil {
return err
}
role := system.SysRole{}
role := models.SysRole{}
err = tx.Model(&role).Where("status = ?", 0).Update("status", 2).Error
if err != nil {
return err
@@ -1,13 +1,12 @@
package version
import (
"go-admin/app/admin/models/system"
//"go-admin/app/admin/models"
"gorm.io/gorm"
"runtime"
"gorm.io/gorm"
"go-admin/cmd/migrate/migration"
"go-admin/cmd/migrate/migration/models"
common "go-admin/common/models"
)
@@ -22,20 +21,20 @@ func _1613638159444Test(db *gorm.DB, version string) error {
// TODO: 这里开始写入要变更的内容
// TODO: 例如 修改表字段 使用过程中请删除此段代码
err := tx.Migrator().AlterColumn(&system.SysRole{}, "create_by")
err := tx.Migrator().AlterColumn(&models.SysRole{}, "create_by")
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&system.SysRole{}, "update_by")
err = tx.Migrator().AlterColumn(&models.SysRole{}, "update_by")
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&system.SysMenu{}, "update_by")
err = tx.Migrator().AlterColumn(&models.SysMenu{}, "update_by")
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&system.SysMenu{}, "create_by")
err = tx.Migrator().AlterColumn(&models.SysMenu{}, "create_by")
if err != nil {
return err
}
@@ -1,13 +1,12 @@
package version
import (
"go-admin/app/admin/models/system"
//"go-admin/app/admin/models"
"gorm.io/gorm"
"runtime"
"gorm.io/gorm"
"go-admin/cmd/migrate/migration"
"go-admin/cmd/migrate/migration/models"
common "go-admin/common/models"
)
@@ -20,20 +19,20 @@ func _1613697961697Test(db *gorm.DB, version string) error {
return db.Transaction(func(tx *gorm.DB) error {
//修改字段类型
err := tx.Migrator().AlterColumn(&system.SysMenu{}, "create_by")
err := tx.Migrator().AlterColumn(&models.SysMenu{}, "create_by")
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&system.SysMenu{}, "update_by")
err = tx.Migrator().AlterColumn(&models.SysMenu{}, "update_by")
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&system.SysRole{}, "create_by")
err = tx.Migrator().AlterColumn(&models.SysRole{}, "create_by")
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&system.SysRole{}, "update_by")
err = tx.Migrator().AlterColumn(&models.SysRole{}, "update_by")
if err != nil {
return err
}
@@ -1,11 +1,12 @@
package version
import (
//"go-admin/app/admin/models"
"gorm.io/gorm"
"runtime"
"gorm.io/gorm"
"go-admin/cmd/migrate/migration"
"go-admin/cmd/migrate/migration/models"
common "go-admin/common/models"
)
@@ -18,36 +19,33 @@ func _1613720892819Test(db *gorm.DB, version string) error {
return db.Transaction(func(tx *gorm.DB) error {
// TODO: 这里开始写入要变更的内容
t := &DictType{
DictName: "内容状态",
DictType: "sys_content_status",
Status: "2",
CreateBy: "1",
UpdateBy: "1",
t := &models.DictType{
DictName: "内容状态",
DictType: "sys_content_status",
Status: "2",
ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1},
}
err := tx.Create(t).Error
if err != nil {
return err
}
data := make([]DictData, 2)
data[0] = DictData{
data := make([]models.DictData, 2)
data[0] = models.DictData{
DictSort: 0,
DictLabel: "正常",
DictValue: "1",
DictType: "sys_content_status",
Status: "1",
CreateBy: "1",
UpdateBy: "1",
ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1},
}
data[1] = DictData{
data[1] = models.DictData{
DictSort: 1,
DictLabel: "禁用",
DictValue: "2",
DictType: "sys_content_status",
Status: "1",
CreateBy: "1",
UpdateBy: "1",
ControlBy: models.ControlBy{CreateBy: 1, UpdateBy: 1},
}
err = tx.Create(data).Error
if err != nil {
@@ -1,13 +1,12 @@
package version
import (
"go-admin/app/admin/models/system"
//"go-admin/app/admin/models"
"gorm.io/gorm"
"runtime"
"gorm.io/gorm"
"go-admin/cmd/migrate/migration"
"go-admin/cmd/migrate/migration/models"
common "go-admin/common/models"
)
@@ -20,36 +19,36 @@ func _1613783303115Test(db *gorm.DB, version string) error {
return db.Transaction(func(tx *gorm.DB) error {
//修改字段类型
err := tx.Model(&system.SysDictType{}).Select("create_by").Not("create_by > 0").Update("create_by", "0").Error
err := tx.Model(&models.DictType{}).Select("create_by").Not("create_by > 0").Update("create_by", "0").Error
if err != nil {
return err
}
err = tx.Model(&system.SysDictType{}).Select("update_by").Not("update_by > 0").Update("update_by", "0").Error
err = tx.Model(&models.DictType{}).Select("update_by").Not("update_by > 0").Update("update_by", "0").Error
if err != nil {
return err
}
err = tx.Model(&system.SysDictData{}).Select("create_by").Not("create_by > 0").Update("create_by", "0").Error
err = tx.Model(&models.DictType{}).Select("create_by").Not("create_by > 0").Update("create_by", "0").Error
if err != nil {
return err
}
err = tx.Model(&system.SysDictData{}).Select("update_by").Not("update_by > 0").Update("update_by", "0").Error
err = tx.Model(&models.DictType{}).Select("update_by").Not("update_by > 0").Update("update_by", "0").Error
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&system.SysDictType{}, "create_by")
err = tx.Migrator().AlterColumn(&models.DictType{}, "create_by")
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&system.SysDictType{}, "update_by")
err = tx.Migrator().AlterColumn(&models.DictType{}, "update_by")
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&system.SysDictData{}, "create_by")
err = tx.Migrator().AlterColumn(&models.DictType{}, "create_by")
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&system.SysDictData{}, "update_by")
err = tx.Migrator().AlterColumn(&models.DictType{}, "update_by")
if err != nil {
return err
}

Some files were not shown because too many files have changed in this diff Show More