diff --git a/app/admin/apis/syscategory/syscategory.go b/app/admin/apis/syscategory/syscategory.go
deleted file mode 100644
index 03181dea..00000000
--- a/app/admin/apis/syscategory/syscategory.go
+++ /dev/null
@@ -1,83 +0,0 @@
-package syscategory
-
-import (
- "github.com/gin-gonic/gin"
- "github.com/gin-gonic/gin/binding"
-
- "go-admin/app/admin/models"
- "go-admin/tools"
- "go-admin/tools/app"
- "go-admin/tools/app/msg"
-)
-
-func GetSysCategoryList(c *gin.Context) {
- var data models.SysCategory
- 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.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 GetSysCategory(c *gin.Context) {
- var data models.SysCategory
- 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.SysCategory true "data"
-// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
-// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
-// @Router /api/v1/syscategory [post]
-func InsertSysCategory(c *gin.Context) {
- var data models.SysCategory
- 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 UpdateSysCategory(c *gin.Context) {
- var data models.SysCategory
- 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 DeleteSysCategory(c *gin.Context) {
- var data models.SysCategory
- 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)
-}
diff --git a/app/admin/models/syscategory.go b/app/admin/models/syscategory.go
index b277bd92..53e21846 100644
--- a/app/admin/models/syscategory.go
+++ b/app/admin/models/syscategory.go
@@ -1,122 +1,31 @@
package models
import (
- orm "go-admin/common/global"
- "go-admin/tools"
+ "gorm.io/gorm"
+
+ "go-admin/common/models"
)
type SysCategory struct {
- Id int `json:"id" gorm:"type:int(11);primary_key;AUTO_INCREMENT"` // 分类Id
- Name string `json:"name" gorm:"type:varchar(255);"` // 名称
- Img string `json:"img" gorm:"type:varchar(255);"` // 图片
- Sort string `json:"sort" gorm:"type:int(4);"` // 排序
- Status string `json:"status" gorm:"type:int(1);"` // 状态
- Remark string `json:"remark" gorm:"type:varchar(255);"` // 备注
- CreateBy string `json:"createBy" gorm:"type:varchar(64);"` // 创建者
- UpdateBy string `json:"updateBy" gorm:"type:varchar(64);"` // 更新者
- DataScope string `json:"dataScope" gorm:"-"`
- Params string `json:"params" gorm:"-"`
- BaseModel
+ gorm.Model
+ models.ControlBy
+
+ Name string `json:"name" gorm:"type:varchar(255);comment:名称"` //
+ Img string `json:"img" gorm:"type:varchar(255);comment:图标"` //
+ Sort string `json:"sort" gorm:"type:int(4);comment:排序"` //
+ Status string `json:"status" gorm:"type:int(1);comment:状态"` //
+ Remark string `json:"remark" gorm:"type:varchar(255);comment:备注"` //
}
func (SysCategory) TableName() string {
- return "sys_category"
+ return "sys_category"
}
-// 创建SysCategory
-func (e *SysCategory) Create() (SysCategory, error) {
- var doc SysCategory
- result := orm.Eloquent.Table(e.TableName()).Create(&e)
- if result.Error != nil {
- err := result.Error
- return doc, err
- }
- doc = *e
- return doc, nil
+func (e *SysCategory) Generate() models.ActiveRecord {
+ o := *e
+ return &o
}
-// 获取SysCategory
-func (e *SysCategory) Get() (SysCategory, error) {
- var doc SysCategory
- table := orm.Eloquent.Table(e.TableName())
-
- if e.Id != 0 {
- table = table.Where("id = ?", e.Id)
- }
-
- if e.Name != "" {
- table = table.Where("name = ?", e.Name)
- }
-
- if e.Status != "" {
- table = table.Where("status = ?", e.Status)
- }
-
- if err := table.First(&doc).Error; err != nil {
- return doc, err
- }
- return doc, nil
-}
-
-// 获取SysCategory带分页
-func (e *SysCategory) GetPage(pageSize int, pageIndex int) ([]SysCategory, int, error) {
- var doc []SysCategory
-
- table := orm.Eloquent.Table(e.TableName())
-
- if e.Name != "" {
- table = table.Where("name = ?", e.Name)
- }
-
- if e.Status != "" {
- table = table.Where("status = ?", e.Status)
- }
-
- // 数据权限控制(如果不需要数据权限请将此处去掉)
- dataPermission := new(DataPermission)
- dataPermission.UserId, _ = tools.StringToInt(e.DataScope)
- table, err := dataPermission.GetDataScope(e.TableName(), table)
- if err != nil {
- return nil, 0, err
- }
- var count int64
-
- if err := table.Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Offset(-1).Limit(-1).Count(&count).Error; err != nil {
- return nil, 0, err
- }
- //table.Where("`deleted_at` IS NULL").Count(&count)
- return doc, int(count), nil
-}
-
-// 更新SysCategory
-func (e *SysCategory) Update(id int) (update SysCategory, err error) {
- if err = orm.Eloquent.Table(e.TableName()).Where("id = ?", id).First(&update).Error; err != nil {
- return
- }
-
- //参数1:是要修改的数据
- //参数2:是修改的数据
- if err = orm.Eloquent.Table(e.TableName()).Model(&update).Updates(&e).Error; err != nil {
- return
- }
- return
-}
-
-// 删除SysCategory
-func (e *SysCategory) Delete(id int) (success bool, err error) {
- if err = orm.Eloquent.Table(e.TableName()).Where("id = ?", id).Delete(&SysCategory{}).Error; err != nil {
- success = false
- return
- }
- success = true
- return
-}
-
-//批量删除
-func (e *SysCategory) BatchDelete(id []int) (Result bool, err error) {
- if err = orm.Eloquent.Table(e.TableName()).Where("id in (?)", id).Delete(&SysCategory{}).Error; err != nil {
- return
- }
- Result = true
- return
+func (e *SysCategory) GetId() interface{} {
+ return e.ID
}
diff --git a/app/admin/router/router.go b/app/admin/router/router.go
index 925a86e6..991e2dd8 100644
--- a/app/admin/router/router.go
+++ b/app/admin/router/router.go
@@ -51,7 +51,5 @@ func examplesCheckRoleRouter(r *gin.Engine, authMiddleware *jwtauth.GinJWTMiddle
}
// {{认证路由自动补充在此处请勿删除}}
- registerSysContentRouter(v1, authMiddleware)
- registerSysCategoryRouter(v1, authMiddleware)
}
diff --git a/app/admin/router/sys_category.go b/app/admin/router/sys_category.go
new file mode 100644
index 00000000..3eaa0a8c
--- /dev/null
+++ b/app/admin/router/sys_category.go
@@ -0,0 +1,31 @@
+package router
+
+import (
+ "github.com/gin-gonic/gin"
+
+ "go-admin/app/admin/middleware"
+ "go-admin/app/admin/models"
+ "go-admin/app/admin/service/dto"
+ "go-admin/common/actions"
+ jwt "go-admin/pkg/jwtauth"
+)
+
+func init() {
+ routerCheckRole = append(routerCheckRole, registerSysCategoryRouter)
+}
+
+// 需认证的路由代码
+func registerSysCategoryRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
+ r := v1.Group("/syscategory").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
+ {
+ model := &models.SysCategory{}
+ r.GET("", actions.PermissionAction(), actions.IndexAction(model, new(dto.SysCategorySearch), func() interface{} {
+ list := make([]models.SysCategory, 0)
+ return &list
+ }))
+ r.GET("/:id", actions.PermissionAction(), actions.ViewAction(new(dto.SysCategoryById), nil))
+ r.POST("", actions.CreateAction(new(dto.SysCategoryControl)))
+ r.PUT("/:id", actions.PermissionAction(), actions.UpdateAction(new(dto.SysCategoryControl)))
+ r.DELETE("", actions.PermissionAction(), actions.DeleteAction(new(dto.SysCategoryById)))
+ }
+}
diff --git a/app/admin/router/syscategory.go b/app/admin/router/syscategory.go
deleted file mode 100644
index 187389b2..00000000
--- a/app/admin/router/syscategory.go
+++ /dev/null
@@ -1,26 +0,0 @@
-package router
-
-import (
- "github.com/gin-gonic/gin"
- "go-admin/app/admin/apis/syscategory"
- "go-admin/app/admin/middleware"
- jwt "go-admin/pkg/jwtauth"
-)
-
-// 需认证的路由代码
-func registerSysCategoryRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
-
- r := v1.Group("/syscategory").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
- {
- r.GET("/:id", syscategory.GetSysCategory)
- r.POST("", syscategory.InsertSysCategory)
- r.PUT("", syscategory.UpdateSysCategory)
- r.DELETE("/:id", syscategory.DeleteSysCategory)
- }
-
- l := v1.Group("").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
- {
- l.GET("/syscategoryList", syscategory.GetSysCategoryList)
- }
-
-}
diff --git a/app/admin/router/syscontent.go b/app/admin/router/syscontent.go
index f72488bb..12220e1e 100644
--- a/app/admin/router/syscontent.go
+++ b/app/admin/router/syscontent.go
@@ -7,6 +7,11 @@ import (
jwt "go-admin/pkg/jwtauth"
)
+
+func init() {
+ routerCheckRole = append(routerCheckRole, registerSysContentRouter)
+}
+
// 需认证的路由代码
func registerSysContentRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
diff --git a/app/admin/service/dto/sys_category.go b/app/admin/service/dto/sys_category.go
new file mode 100644
index 00000000..d5076098
--- /dev/null
+++ b/app/admin/service/dto/sys_category.go
@@ -0,0 +1,107 @@
+package dto
+
+import (
+ "github.com/gin-gonic/gin"
+ "gorm.io/gorm"
+
+ "go-admin/app/admin/models"
+ "go-admin/common/dto"
+ "go-admin/common/log"
+ common "go-admin/common/models"
+ "go-admin/tools"
+)
+
+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:"状态"`
+
+
+}
+
+func (m *SysCategorySearch) GetNeedSearch() interface{} {
+ return *m
+}
+
+func (m *SysCategorySearch) Bind(ctx *gin.Context) error {
+ msgID := tools.GenerateMsgIDFromContext(ctx)
+ err := ctx.ShouldBind(m)
+ if err != nil {
+ log.Debugf("MsgID[%s] ShouldBind error: %s", msgID, err.Error())
+ }
+ return err
+}
+
+func (m *SysCategorySearch) Generate() dto.Index {
+ o := *m
+ return &o
+}
+
+type SysCategoryControl struct {
+
+ ID uint `uri:"ID" comment:"标识"` // 标识
+
+ Name string `json:"name" comment:"名称"`
+
+
+ Img string `json:"img" comment:"图标"`
+
+
+ Sort string `json:"sort" comment:"排序"`
+
+
+ Status string `json:"status" comment:"状态"`
+
+
+ Remark string `json:"remark" comment:"备注"`
+
+}
+
+func (s *SysCategoryControl) Bind(ctx *gin.Context) error {
+ msgID := tools.GenerateMsgIDFromContext(ctx)
+ err := ctx.ShouldBindUri(s)
+ if err != nil {
+ log.Debugf("MsgID[%s] ShouldBindUri error: %s", msgID, err.Error())
+ return err
+ }
+ err = ctx.ShouldBind(s)
+ if err != nil {
+ log.Debugf("MsgID[%s] ShouldBind error: %#v", msgID, err.Error())
+ }
+ return err
+}
+
+func (s *SysCategoryControl) Generate() dto.Control {
+ cp := *s
+ return &cp
+}
+
+func (s *SysCategoryControl) GenerateM() (common.ActiveRecord, error) {
+ return &models.SysCategory{
+
+ Model: gorm.Model{ID: s.ID},
+ Name: s.Name,
+ Img: s.Img,
+ Sort: s.Sort,
+ Status: s.Status,
+ Remark: s.Remark,
+ }, nil
+}
+
+func (s *SysCategoryControl) GetId() interface{} {
+ return s.ID
+}
+
+type SysCategoryById struct {
+ dto.ObjectById
+}
+
+func (s *SysCategoryById) Generate() dto.Control {
+ cp := *s
+ return &cp
+}
+
+func (s *SysCategoryById) GenerateM() (common.ActiveRecord, error) {
+ return &models.SysCategory{}, nil
+}
diff --git a/go-admin-ui/src/api/syscategory.js b/go-admin-ui/src/api/syscategory.js
new file mode 100644
index 00000000..cde5aead
--- /dev/null
+++ b/go-admin-ui/src/api/syscategory.js
@@ -0,0 +1,47 @@
+import request from '@/utils/request'
+
+// 查询SysCategory列表
+export function listSysCategory(query) {
+ return request({
+ url: '/api/v1/cms',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询SysCategory详细
+export function getSysCategory (ID) {
+ return request({
+ url: '/api/v1/cms/' + ID,
+ method: 'get'
+ })
+}
+
+
+// 新增SysCategory
+export function addSysCategory(data) {
+ return request({
+ url: '/api/v1/cms',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改SysCategory
+export function updateSysCategory(data) {
+ return request({
+ url: '/api/v1/cms/'+data.ID,
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除SysCategory
+export function delSysCategory(data) {
+ return request({
+ url: '/api/v1/cms',
+ method: 'delete',
+ data: data
+ })
+}
+
diff --git a/go-admin-ui/src/views/syscategory/index.vue b/go-admin-ui/src/views/syscategory/index.vue
new file mode 100644
index 00000000..6860b271
--- /dev/null
+++ b/go-admin-ui/src/views/syscategory/index.vue
@@ -0,0 +1,329 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+
+ 修改
+
+
+
+ 删除
+
+
+
+
+
+
+
+ {{ statusFormat(scope.row) }}
+
+
+
+
+ 修改
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ dict.dictLabel }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+