Skip to content

Commit 08301fd

Browse files
author
QM303176530
committed
增加字典管理功能
1 parent 0e72e9f commit 08301fd

18 files changed

+1155
-10
lines changed

server/api/v1/sys_dictionary.go

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
package v1
2+
3+
import (
4+
"fmt"
5+
"gin-vue-admin/global/response"
6+
"gin-vue-admin/model"
7+
"gin-vue-admin/model/request"
8+
resp "gin-vue-admin/model/response"
9+
"gin-vue-admin/service"
10+
"github.com/gin-gonic/gin"
11+
)
12+
13+
// @Tags SysDictionary
14+
// @Summary 创建SysDictionary
15+
// @Security ApiKeyAuth
16+
// @accept application/json
17+
// @Produce application/json
18+
// @Param data body model.SysDictionary true "创建SysDictionary"
19+
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
20+
// @Router /sysDictionary/createSysDictionary [post]
21+
func CreateSysDictionary(c *gin.Context) {
22+
var sysDictionary model.SysDictionary
23+
_ = c.ShouldBindJSON(&sysDictionary)
24+
err := service.CreateSysDictionary(sysDictionary)
25+
if err != nil {
26+
response.FailWithMessage(fmt.Sprintf("创建失败,%v", err), c)
27+
} else {
28+
response.OkWithMessage("创建成功", c)
29+
}
30+
}
31+
32+
// @Tags SysDictionary
33+
// @Summary 删除SysDictionary
34+
// @Security ApiKeyAuth
35+
// @accept application/json
36+
// @Produce application/json
37+
// @Param data body model.SysDictionary true "删除SysDictionary"
38+
// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
39+
// @Router /sysDictionary/deleteSysDictionary [delete]
40+
func DeleteSysDictionary(c *gin.Context) {
41+
var sysDictionary model.SysDictionary
42+
_ = c.ShouldBindJSON(&sysDictionary)
43+
err := service.DeleteSysDictionary(sysDictionary)
44+
if err != nil {
45+
response.FailWithMessage(fmt.Sprintf("删除失败,%v", err), c)
46+
} else {
47+
response.OkWithMessage("删除成功", c)
48+
}
49+
}
50+
51+
// @Tags SysDictionary
52+
// @Summary 更新SysDictionary
53+
// @Security ApiKeyAuth
54+
// @accept application/json
55+
// @Produce application/json
56+
// @Param data body model.SysDictionary true "更新SysDictionary"
57+
// @Success 200 {string} string "{"success":true,"data":{},"msg":"更新成功"}"
58+
// @Router /sysDictionary/updateSysDictionary [put]
59+
func UpdateSysDictionary(c *gin.Context) {
60+
var sysDictionary model.SysDictionary
61+
_ = c.ShouldBindJSON(&sysDictionary)
62+
err := service.UpdateSysDictionary(&sysDictionary)
63+
if err != nil {
64+
response.FailWithMessage(fmt.Sprintf("更新失败,%v", err), c)
65+
} else {
66+
response.OkWithMessage("更新成功", c)
67+
}
68+
}
69+
70+
// @Tags SysDictionary
71+
// @Summary 用id查询SysDictionary
72+
// @Security ApiKeyAuth
73+
// @accept application/json
74+
// @Produce application/json
75+
// @Param data body model.SysDictionary true "用id查询SysDictionary"
76+
// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
77+
// @Router /sysDictionary/findSysDictionary [get]
78+
func FindSysDictionary(c *gin.Context) {
79+
var sysDictionary model.SysDictionary
80+
_ = c.ShouldBindQuery(&sysDictionary)
81+
err, resysDictionary := service.GetSysDictionary(sysDictionary.ID)
82+
if err != nil {
83+
response.FailWithMessage(fmt.Sprintf("查询失败,%v", err), c)
84+
} else {
85+
response.OkWithData(gin.H{"resysDictionary": resysDictionary}, c)
86+
}
87+
}
88+
89+
// @Tags SysDictionary
90+
// @Summary 分页获取SysDictionary列表
91+
// @Security ApiKeyAuth
92+
// @accept application/json
93+
// @Produce application/json
94+
// @Param data body request.SysDictionarySearch true "分页获取SysDictionary列表"
95+
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
96+
// @Router /sysDictionary/getSysDictionaryList [get]
97+
func GetSysDictionaryList(c *gin.Context) {
98+
var pageInfo request.SysDictionarySearch
99+
_ = c.ShouldBindQuery(&pageInfo)
100+
err, list, total := service.GetSysDictionaryInfoList(pageInfo)
101+
if err != nil {
102+
response.FailWithMessage(fmt.Sprintf("获取数据失败,%v", err), c)
103+
} else {
104+
response.OkWithData(resp.PageResult{
105+
List: list,
106+
Total: total,
107+
Page: pageInfo.Page,
108+
PageSize: pageInfo.PageSize,
109+
}, c)
110+
}
111+
}
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
package v1
2+
3+
import (
4+
"fmt"
5+
"gin-vue-admin/global/response"
6+
"gin-vue-admin/model"
7+
"gin-vue-admin/model/request"
8+
resp "gin-vue-admin/model/response"
9+
"gin-vue-admin/service"
10+
"github.com/gin-gonic/gin"
11+
)
12+
13+
// @Tags SysDictionaryDetail
14+
// @Summary 创建SysDictionaryDetail
15+
// @Security ApiKeyAuth
16+
// @accept application/json
17+
// @Produce application/json
18+
// @Param data body model.SysDictionaryDetail true "创建SysDictionaryDetail"
19+
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
20+
// @Router /sysDictionaryDetail/createSysDictionaryDetail [post]
21+
func CreateSysDictionaryDetail(c *gin.Context) {
22+
var sysDictionaryDetail model.SysDictionaryDetail
23+
_ = c.ShouldBindJSON(&sysDictionaryDetail)
24+
err := service.CreateSysDictionaryDetail(sysDictionaryDetail)
25+
if err != nil {
26+
response.FailWithMessage(fmt.Sprintf("创建失败,%v", err), c)
27+
} else {
28+
response.OkWithMessage("创建成功", c)
29+
}
30+
}
31+
32+
// @Tags SysDictionaryDetail
33+
// @Summary 删除SysDictionaryDetail
34+
// @Security ApiKeyAuth
35+
// @accept application/json
36+
// @Produce application/json
37+
// @Param data body model.SysDictionaryDetail true "删除SysDictionaryDetail"
38+
// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}"
39+
// @Router /sysDictionaryDetail/deleteSysDictionaryDetail [delete]
40+
func DeleteSysDictionaryDetail(c *gin.Context) {
41+
var sysDictionaryDetail model.SysDictionaryDetail
42+
_ = c.ShouldBindJSON(&sysDictionaryDetail)
43+
err := service.DeleteSysDictionaryDetail(sysDictionaryDetail)
44+
if err != nil {
45+
response.FailWithMessage(fmt.Sprintf("删除失败,%v", err), c)
46+
} else {
47+
response.OkWithMessage("删除成功", c)
48+
}
49+
}
50+
51+
// @Tags SysDictionaryDetail
52+
// @Summary 更新SysDictionaryDetail
53+
// @Security ApiKeyAuth
54+
// @accept application/json
55+
// @Produce application/json
56+
// @Param data body model.SysDictionaryDetail true "更新SysDictionaryDetail"
57+
// @Success 200 {string} string "{"success":true,"data":{},"msg":"更新成功"}"
58+
// @Router /sysDictionaryDetail/updateSysDictionaryDetail [put]
59+
func UpdateSysDictionaryDetail(c *gin.Context) {
60+
var sysDictionaryDetail model.SysDictionaryDetail
61+
_ = c.ShouldBindJSON(&sysDictionaryDetail)
62+
err := service.UpdateSysDictionaryDetail(&sysDictionaryDetail)
63+
if err != nil {
64+
response.FailWithMessage(fmt.Sprintf("更新失败,%v", err), c)
65+
} else {
66+
response.OkWithMessage("更新成功", c)
67+
}
68+
}
69+
70+
// @Tags SysDictionaryDetail
71+
// @Summary 用id查询SysDictionaryDetail
72+
// @Security ApiKeyAuth
73+
// @accept application/json
74+
// @Produce application/json
75+
// @Param data body model.SysDictionaryDetail true "用id查询SysDictionaryDetail"
76+
// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
77+
// @Router /sysDictionaryDetail/findSysDictionaryDetail [get]
78+
func FindSysDictionaryDetail(c *gin.Context) {
79+
var sysDictionaryDetail model.SysDictionaryDetail
80+
_ = c.ShouldBindQuery(&sysDictionaryDetail)
81+
err, resysDictionaryDetail := service.GetSysDictionaryDetail(sysDictionaryDetail.ID)
82+
if err != nil {
83+
response.FailWithMessage(fmt.Sprintf("查询失败,%v", err), c)
84+
} else {
85+
response.OkWithData(gin.H{"resysDictionaryDetail": resysDictionaryDetail}, c)
86+
}
87+
}
88+
89+
// @Tags SysDictionaryDetail
90+
// @Summary 分页获取SysDictionaryDetail列表
91+
// @Security ApiKeyAuth
92+
// @accept application/json
93+
// @Produce application/json
94+
// @Param data body request.SysDictionaryDetailSearch true "分页获取SysDictionaryDetail列表"
95+
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
96+
// @Router /sysDictionaryDetail/getSysDictionaryDetailList [get]
97+
func GetSysDictionaryDetailList(c *gin.Context) {
98+
var pageInfo request.SysDictionaryDetailSearch
99+
_ = c.ShouldBindQuery(&pageInfo)
100+
err, list, total := service.GetSysDictionaryDetailInfoList(pageInfo)
101+
if err != nil {
102+
response.FailWithMessage(fmt.Sprintf("获取数据失败,%v", err), c)
103+
} else {
104+
response.OkWithData(resp.PageResult{
105+
List: list,
106+
Total: total,
107+
Page: pageInfo.Page,
108+
PageSize: pageInfo.PageSize,
109+
}, c)
110+
}
111+
}

server/initialize/db_table.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ func DBTables() {
1515
model.JwtBlacklist{},
1616
model.SysWorkflow{},
1717
model.SysWorkflowStepInfo{},
18+
model.SysDictionary{},
19+
model.SysDictionaryDetail{},
1820
model.ExaFileUploadAndDownload{},
1921
model.ExaFile{},
2022
model.ExaFileChunk{},

server/initialize/router.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ func Routers() *gin.Engine {
3535
router.InitSystemRouter(ApiGroup) // system相关路由
3636
router.InitCustomerRouter(ApiGroup) // 客户路由
3737
router.InitAutoCodeRouter(ApiGroup) // 创建自动化代码
38+
router.InitSysDictionaryDetailRouter(ApiGroup) // 字典详情管理
39+
router.InitSysDictionaryRouter(ApiGroup) // 字典管理
3840
global.GVA_LOG.Info("router register success")
3941
return Router
4042
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package request
2+
3+
import "gin-vue-admin/model"
4+
5+
type SysDictionarySearch struct{
6+
model.SysDictionary
7+
PageInfo
8+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package request
2+
3+
import "gin-vue-admin/model"
4+
5+
type SysDictionaryDetailSearch struct{
6+
model.SysDictionaryDetail
7+
PageInfo
8+
}

server/model/sys_dictionary.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// 自动生成模板SysDictionary
2+
package model
3+
4+
import (
5+
"github.com/jinzhu/gorm"
6+
)
7+
8+
// 如果含有time.Time 请自行import time包
9+
type SysDictionary struct {
10+
gorm.Model
11+
Name string `json:"name" form:"name" gorm:"column:name;comment:'字典名(中)'"`
12+
Type string `json:"type" form:"type" gorm:"column:type;comment:'字典名(英)'"`
13+
Status *bool `json:"status" form:"status" gorm:"column:status;comment:'状态'"`
14+
Desc string `json:"desc" form:"desc" gorm:"column:desc;comment:'描述'"`
15+
SysDictionaryDetails []SysDictionaryDetail `json:"sysDictionaryDetails" form:"sysDictionaryDetails"`
16+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// 自动生成模板SysDictionaryDetail
2+
package model
3+
4+
import (
5+
"github.com/jinzhu/gorm"
6+
)
7+
8+
// 如果含有time.Time 请自行import time包
9+
type SysDictionaryDetail struct {
10+
gorm.Model
11+
Label string `json:"label" form:"label" gorm:"column:label;comment:'展示值'"`
12+
Value int `json:"value" form:"value" gorm:"column:value;comment:'字典值'"`
13+
Status *bool `json:"status" form:"status" gorm:"column:status;comment:'启用状态'"`
14+
Sort int `json:"sort" form:"sort" gorm:"column:sort;comment:'排序标记'"`
15+
SysDictionaryID int `json:"sysDictionaryID" form:"sysDictionaryID" gorm:"column:sys_dictionary_id;comment:'关联标记'"`
16+
}

server/resource/template/fe/table.vue.tpl

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
<el-form :inline="true" :model="searchInfo" class="demo-form-inline">
55
{{- range .Fields}} {{- if .FieldSearchType}} {{- if eq .FieldType "bool" }}
66
<el-form-item label="{{.FieldDesc}}" prop="{{.FieldJson}}">
7-
<el-col :span="8">
8-
<el-select v-model="searchInfo.{{.FieldJson}}" placeholder="请选择">
7+
<el-select v-model="searchInfo.{{.FieldJson}}" clear placeholder="请选择">
98
<el-option
109
key="true"
1110
label=""
@@ -16,12 +15,7 @@
1615
label=""
1716
value="false">
1817
</el-option>
19-
<el-option
20-
label=""
21-
value="">
22-
</el-option>
2318
</el-select>
24-
</el-col>
2519
</el-form-item>
2620
{{- else }}
2721
<el-form-item label="{{.FieldDesc}}">
@@ -31,7 +25,7 @@
3125
<el-button @click="onSubmit" type="primary">查询</el-button>
3226
</el-form-item>
3327
<el-form-item>
34-
<el-button @click="openDialog" type="primary">新增api</el-button>
28+
<el-button @click="openDialog" type="primary">新增{{.Description}}</el-button>
3529
</el-form-item>
3630
</el-form>
3731
</div>
@@ -181,8 +175,11 @@ export default {
181175
res = await create{{.StructName}}(this.formData);
182176
break;
183177
}
184-
185178
if (res.code == 0) {
179+
this.$message({
180+
type:"success",
181+
message:"创建/更改成功"
182+
})
186183
this.closeDialog();
187184
this.getTableData();
188185
}

server/router/sys_dictionary.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package router
2+
3+
import (
4+
"gin-vue-admin/api/v1"
5+
"gin-vue-admin/middleware"
6+
"github.com/gin-gonic/gin"
7+
)
8+
9+
func InitSysDictionaryRouter(Router *gin.RouterGroup) {
10+
SysDictionaryRouter := Router.Group("sysDictionary").Use(middleware.JWTAuth()).Use(middleware.CasbinHandler())
11+
{
12+
SysDictionaryRouter.POST("createSysDictionary", v1.CreateSysDictionary) // 新建SysDictionary
13+
SysDictionaryRouter.DELETE("deleteSysDictionary", v1.DeleteSysDictionary) // 删除SysDictionary
14+
SysDictionaryRouter.PUT("updateSysDictionary", v1.UpdateSysDictionary) // 更新SysDictionary
15+
SysDictionaryRouter.GET("findSysDictionary", v1.FindSysDictionary) // 根据ID获取SysDictionary
16+
SysDictionaryRouter.GET("getSysDictionaryList", v1.GetSysDictionaryList) // 获取SysDictionary列表
17+
}
18+
}

0 commit comments

Comments
 (0)