mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-21 18:20:50 +00:00
+1
-1
@@ -7,7 +7,7 @@ temp/
|
|||||||
vendor
|
vendor
|
||||||
config/settings.dev.yml
|
config/settings.dev.yml
|
||||||
go-admin
|
go-admin
|
||||||
middleware/demo.go
|
common/middleware/demo.go
|
||||||
config/settings.dev.b.yml
|
config/settings.dev.b.yml
|
||||||
temp/logs
|
temp/logs
|
||||||
config/settings.dev.yml.log
|
config/settings.dev.yml.log
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/gin-gonic/gin/binding"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
)
|
)
|
||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/gin-gonic/gin/binding"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
)
|
)
|
||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/gin-gonic/gin/binding"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
"go-admin/tools/app/msg"
|
"go-admin/tools/app/msg"
|
||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/gin-gonic/gin/binding"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
"go-admin/tools/app/msg"
|
"go-admin/tools/app/msg"
|
||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/gin-gonic/gin/binding"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
"go-admin/tools/app/msg"
|
"go-admin/tools/app/msg"
|
||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/gin-gonic/gin/binding"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
"go-admin/tools/app/msg"
|
"go-admin/tools/app/msg"
|
||||||
@@ -1,12 +1,13 @@
|
|||||||
package sysjob
|
package sysjob
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"go-admin/common/dto"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"go-admin/jobs"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/models"
|
"go-admin/app/jobs"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
"go-admin/tools/app/msg"
|
"go-admin/tools/app/msg"
|
||||||
@@ -14,7 +15,7 @@ import (
|
|||||||
|
|
||||||
func RemoveJob(c *gin.Context) {
|
func RemoveJob(c *gin.Context) {
|
||||||
var data models.SysJob
|
var data models.SysJob
|
||||||
var v tools.GeneralDelDto
|
var v dto.GeneralDelDto
|
||||||
err := c.BindUri(&v)
|
err := c.BindUri(&v)
|
||||||
tools.HasError(err, "", 500)
|
tools.HasError(err, "", 500)
|
||||||
data.JobId = v.Id
|
data.JobId = v.Id
|
||||||
@@ -36,7 +37,7 @@ func RemoveJob(c *gin.Context) {
|
|||||||
|
|
||||||
func StartJob(c *gin.Context) {
|
func StartJob(c *gin.Context) {
|
||||||
var data models.SysJob
|
var data models.SysJob
|
||||||
var v tools.GeneralGetDto
|
var v dto.GeneralGetDto
|
||||||
err := c.BindUri(&v)
|
err := c.BindUri(&v)
|
||||||
tools.HasError(err, "", 500)
|
tools.HasError(err, "", 500)
|
||||||
data.JobId = v.Id
|
data.JobId = v.Id
|
||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/gin-gonic/gin/binding"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
"go-admin/tools/app/msg"
|
"go-admin/tools/app/msg"
|
||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/gin-gonic/gin/binding"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
"go-admin/tools/app/msg"
|
"go-admin/tools/app/msg"
|
||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/gin-gonic/gin/binding"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
)
|
)
|
||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/gin-gonic/gin/binding"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
)
|
)
|
||||||
@@ -44,7 +44,7 @@ func GetDictTypeList(c *gin.Context) {
|
|||||||
result, count, err := data.GetPage(pageSize, pageIndex)
|
result, count, err := data.GetPage(pageSize, pageIndex)
|
||||||
tools.HasError(err, "", -1)
|
tools.HasError(err, "", -1)
|
||||||
|
|
||||||
app.PageOK(c,result,count,pageIndex,pageSize,"")
|
app.PageOK(c, result, count, pageIndex, pageSize, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Summary 通过字典id获取字典类型
|
// @Summary 通过字典id获取字典类型
|
||||||
@@ -3,7 +3,7 @@ package system
|
|||||||
import (
|
import (
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
)
|
)
|
||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/gin-gonic/gin/binding"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
)
|
)
|
||||||
@@ -3,7 +3,7 @@ package system
|
|||||||
import (
|
import (
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
)
|
)
|
||||||
@@ -3,7 +3,7 @@ package system
|
|||||||
import (
|
import (
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
)
|
)
|
||||||
@@ -145,6 +145,6 @@ func DeleteRole(c *gin.Context) {
|
|||||||
|
|
||||||
IDS := tools.IdsStrToIdsIntGroup("roleId", c)
|
IDS := tools.IdsStrToIdsIntGroup("roleId", c)
|
||||||
_, err := Role.BatchDelete(IDS)
|
_, err := Role.BatchDelete(IDS)
|
||||||
tools.HasError(err, "删除失败1", -1)
|
tools.HasError(err, "删除失败", -1)
|
||||||
app.OK(c, "", "删除成功")
|
app.OK(c, "", "删除成功")
|
||||||
}
|
}
|
||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -7,10 +7,9 @@ import (
|
|||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// @Summary 查询系统信息
|
// @Summary 查询系统信息
|
||||||
@@ -5,8 +5,8 @@ import (
|
|||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/gin-gonic/gin/binding"
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
|
|
||||||
"go-admin/global"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/models"
|
"go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
)
|
)
|
||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"go-admin/models/tools"
|
"go-admin/app/admin/models/tools"
|
||||||
tools2 "go-admin/tools"
|
tools2 "go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
)
|
)
|
||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"go-admin/models/tools"
|
"go-admin/app/admin/models/tools"
|
||||||
tools2 "go-admin/tools"
|
tools2 "go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
"go-admin/tools/config"
|
"go-admin/tools/config"
|
||||||
@@ -7,9 +7,9 @@ import (
|
|||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"go-admin/global"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models/tools"
|
||||||
"go-admin/models/tools"
|
"go-admin/common/global"
|
||||||
tools2 "go-admin/tools"
|
tools2 "go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
"go-admin/tools/config"
|
"go-admin/tools/config"
|
||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"go-admin/models/tools"
|
"go-admin/app/admin/models/tools"
|
||||||
tools2 "go-admin/tools"
|
tools2 "go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
)
|
)
|
||||||
@@ -3,7 +3,7 @@ package middleware
|
|||||||
import (
|
import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"go-admin/handler"
|
"go-admin/app/admin/middleware/handler"
|
||||||
jwt "go-admin/pkg/jwtauth"
|
jwt "go-admin/pkg/jwtauth"
|
||||||
"go-admin/tools/config"
|
"go-admin/tools/config"
|
||||||
)
|
)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package middleware
|
||||||
|
|
||||||
|
import "go-admin/common/middleware"
|
||||||
|
|
||||||
|
var WithContextDb = middleware.WithContextDb
|
||||||
@@ -7,8 +7,8 @@ import (
|
|||||||
"github.com/mojocn/base64Captcha"
|
"github.com/mojocn/base64Captcha"
|
||||||
"github.com/mssola/user_agent"
|
"github.com/mssola/user_agent"
|
||||||
|
|
||||||
"go-admin/global"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/models"
|
"go-admin/common/global"
|
||||||
jwt "go-admin/pkg/jwtauth"
|
jwt "go-admin/pkg/jwtauth"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/config"
|
"go-admin/tools/config"
|
||||||
@@ -7,7 +7,6 @@ import (
|
|||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
jwt "go-admin/pkg/jwtauth"
|
jwt "go-admin/pkg/jwtauth"
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func NoFound(c *gin.Context) {
|
func NoFound(c *gin.Context) {
|
||||||
@@ -7,11 +7,10 @@ import (
|
|||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"go-admin/global"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/models"
|
"go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
config2 "go-admin/tools/config"
|
config2 "go-admin/tools/config"
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// 日志记录到文件
|
// 日志记录到文件
|
||||||
@@ -14,7 +14,7 @@ import (
|
|||||||
//权限检查中间件
|
//权限检查中间件
|
||||||
func AuthCheckRole() gin.HandlerFunc {
|
func AuthCheckRole() gin.HandlerFunc {
|
||||||
return func(c *gin.Context) {
|
return func(c *gin.Context) {
|
||||||
data, _ := c.Get("JWT_PAYLOAD")
|
data, _ := c.Get(jwtauth.JwtPayloadKey)
|
||||||
v := data.(jwtauth.MapClaims)
|
v := data.(jwtauth.MapClaims)
|
||||||
e, err := mycasbin.Casbin()
|
e, err := mycasbin.Casbin()
|
||||||
tools.HasError(err, "", 500)
|
tools.HasError(err, "", 500)
|
||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
_ "time"
|
_ "time"
|
||||||
|
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
_ "time"
|
_ "time"
|
||||||
|
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -3,7 +3,7 @@ package models
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -3,10 +3,10 @@ package gorm
|
|||||||
import (
|
import (
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
func InitData(db *gorm.DB) {
|
func InitData(db *gorm.DB) {
|
||||||
|
|
||||||
list := []models.CasbinRule{
|
list := []models.CasbinRule{
|
||||||
{"p", "admin", "/api/v1/menulist", "GET", "", "", ""},
|
{"p", "admin", "/api/v1/menulist", "GET", "", "", ""},
|
||||||
@@ -3,12 +3,12 @@ package gorm
|
|||||||
import (
|
import (
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/models/tools"
|
"go-admin/app/admin/models/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
func AutoMigrate(db *gorm.DB) (err error) {
|
func AutoMigrate(db *gorm.DB) (err error) {
|
||||||
err = db.AutoMigrate(new(models.CasbinRule),
|
err = db.Migrator().AutoMigrate(new(models.CasbinRule),
|
||||||
new(models.SysDept),
|
new(models.SysDept),
|
||||||
new(models.SysConfig),
|
new(models.SysConfig),
|
||||||
new(tools.SysTables),
|
new(tools.SysTables),
|
||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"go-admin/global"
|
"go-admin/common/global"
|
||||||
)
|
)
|
||||||
|
|
||||||
func InitDb() (err error) {
|
func InitDb() (err error) {
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -3,7 +3,7 @@ package models
|
|||||||
import (
|
import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
)
|
)
|
||||||
|
|
||||||
type LoginLog struct {
|
type LoginLog struct {
|
||||||
@@ -3,7 +3,7 @@ package models
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -3,7 +3,7 @@ package models
|
|||||||
import (
|
import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
)
|
)
|
||||||
|
|
||||||
//sys_operlog
|
//sys_operlog
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -191,6 +191,16 @@ func (role *SysRole) BatchDelete(id []int) (Result bool, err error) {
|
|||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var count int64
|
||||||
|
if err := tx.Table("sys_user").Where("role_id in (?)", id).Count(&count).Error; err != nil {
|
||||||
|
tx.Rollback()
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
if count > 0 {
|
||||||
|
tx.Rollback()
|
||||||
|
return false, errors.New("存在绑定用户,请解绑后重试")
|
||||||
|
}
|
||||||
|
|
||||||
// 删除角色
|
// 删除角色
|
||||||
if err = tx.Table(role.TableName()).Where("role_id in (?)", id).Unscoped().Delete(&SysRole{}).Error; err != nil {
|
if err = tx.Table(role.TableName()).Where("role_id in (?)", id).Unscoped().Delete(&SysRole{}).Error; err != nil {
|
||||||
tx.Rollback()
|
tx.Rollback()
|
||||||
@@ -3,7 +3,7 @@ package models
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
)
|
)
|
||||||
|
|
||||||
//sys_role_dept
|
//sys_role_dept
|
||||||
@@ -3,7 +3,7 @@ package models
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1,9 +1,11 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
orm "go-admin/global"
|
"go-admin/common/dto"
|
||||||
|
orm "go-admin/common/global"
|
||||||
|
"go-admin/common/models"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/model"
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
type SysJob struct {
|
type SysJob struct {
|
||||||
@@ -28,7 +30,7 @@ func (SysJob) TableName() string {
|
|||||||
return "sys_job"
|
return "sys_job"
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *SysJob) Generate() model.ActiveRecord {
|
func (e *SysJob) Generate() models.ActiveRecord {
|
||||||
o := *e
|
o := *e
|
||||||
return &o
|
return &o
|
||||||
}
|
}
|
||||||
@@ -37,12 +39,12 @@ func (e *SysJob) GetId() interface{} {
|
|||||||
return e.JobId
|
return e.JobId
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *SysJob) SetCreateBy(createBy string) {
|
func (e *SysJob) SetCreateBy(createBy uint) {
|
||||||
e.CreateBy = createBy
|
e.CreateBy = strconv.Itoa(int(createBy))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *SysJob) SetUpdateBy(updateBy string) {
|
func (e *SysJob) SetUpdateBy(updateBy uint) {
|
||||||
e.UpdateBy = updateBy
|
e.UpdateBy = strconv.Itoa(int(updateBy))
|
||||||
}
|
}
|
||||||
|
|
||||||
// 创建SysJob
|
// 创建SysJob
|
||||||
@@ -57,7 +59,7 @@ func (e *SysJob) Get(id interface{}) (err error) {
|
|||||||
|
|
||||||
// 获取SysJob带分页
|
// 获取SysJob带分页
|
||||||
func (e *SysJob) GetPage(pageSize int, pageIndex int, v interface{}, list interface{}) (int, error) {
|
func (e *SysJob) GetPage(pageSize int, pageIndex int, v interface{}, list interface{}) (int, error) {
|
||||||
table := orm.Eloquent.Table(e.TableName()).Scopes(tools.MakeCondition(v))
|
table := orm.Eloquent.Table(e.TableName()).Scopes(dto.MakeCondition(v))
|
||||||
|
|
||||||
// 数据权限控制(如果不需要数据权限请将此处去掉)
|
// 数据权限控制(如果不需要数据权限请将此处去掉)
|
||||||
//dataPermission := new(DataPermission)
|
//dataPermission := new(DataPermission)
|
||||||
@@ -65,7 +67,7 @@ func (e *SysJob) GetPage(pageSize int, pageIndex int, v interface{}, list interf
|
|||||||
|
|
||||||
var count int64
|
var count int64
|
||||||
|
|
||||||
if err := table.Scopes(DataScopes(e.TableName(), userid), tools.Paginate(pageSize, pageIndex)).Find(list).Offset(-1).Limit(-1).Count(&count).Error; err != nil {
|
if err := table.Scopes(DataScopes(e.TableName(), userid), dto.Paginate(pageSize, pageIndex)).Find(list).Offset(-1).Limit(-1).Count(&count).Error; err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
return int(count), nil
|
return int(count), nil
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
)
|
)
|
||||||
|
|
||||||
type SysSetting struct {
|
type SysSetting struct {
|
||||||
@@ -8,7 +8,7 @@ import (
|
|||||||
|
|
||||||
"golang.org/x/crypto/bcrypt"
|
"golang.org/x/crypto/bcrypt"
|
||||||
|
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -219,7 +219,7 @@ func (e *SysUser) GetPage(pageSize int, pageIndex int) ([]SysUserPage, int, erro
|
|||||||
// 数据权限控制(如果不需要数据权限请将此处去掉)
|
// 数据权限控制(如果不需要数据权限请将此处去掉)
|
||||||
dataPermission := new(DataPermission)
|
dataPermission := new(DataPermission)
|
||||||
dataPermission.UserId, _ = tools.StringToInt(e.DataScope)
|
dataPermission.UserId, _ = tools.StringToInt(e.DataScope)
|
||||||
table,err := dataPermission.GetDataScope(e.TableName(), table)
|
table, err := dataPermission.GetDataScope(e.TableName(), table)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, 0, err
|
return nil, 0, err
|
||||||
}
|
}
|
||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
config2 "go-admin/tools/config"
|
config2 "go-admin/tools/config"
|
||||||
)
|
)
|
||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
orm "go-admin/global"
|
orm "go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
config2 "go-admin/tools/config"
|
config2 "go-admin/tools/config"
|
||||||
)
|
)
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package tools
|
package tools
|
||||||
|
|
||||||
import (
|
import (
|
||||||
orm "go-admin/global"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/models"
|
orm "go-admin/common/global"
|
||||||
)
|
)
|
||||||
|
|
||||||
type SysColumns struct {
|
type SysColumns struct {
|
||||||
@@ -3,8 +3,8 @@ package tools
|
|||||||
import (
|
import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
orm "go-admin/global"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/models"
|
orm "go-admin/common/global"
|
||||||
)
|
)
|
||||||
|
|
||||||
type SysTables struct {
|
type SysTables struct {
|
||||||
@@ -2,9 +2,9 @@ package router
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"go-admin/global"
|
"go-admin/app/admin/middleware"
|
||||||
"go-admin/handler"
|
"go-admin/app/admin/middleware/handler"
|
||||||
"go-admin/middleware"
|
"go-admin/common/global"
|
||||||
_ "go-admin/pkg/jwtauth"
|
_ "go-admin/pkg/jwtauth"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
config2 "go-admin/tools/config"
|
config2 "go-admin/tools/config"
|
||||||
@@ -2,8 +2,8 @@ package router
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"go-admin/apis/syscategory"
|
"go-admin/app/admin/apis/syscategory"
|
||||||
"go-admin/middleware"
|
"go-admin/app/admin/middleware"
|
||||||
jwt "go-admin/pkg/jwtauth"
|
jwt "go-admin/pkg/jwtauth"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -2,8 +2,8 @@ package router
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"go-admin/apis/syscontent"
|
"go-admin/app/admin/apis/syscontent"
|
||||||
"go-admin/middleware"
|
"go-admin/app/admin/middleware"
|
||||||
jwt "go-admin/pkg/jwtauth"
|
jwt "go-admin/pkg/jwtauth"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -2,8 +2,8 @@ package router
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"go-admin/apis/sysfiledir"
|
"go-admin/app/admin/apis/sysfiledir"
|
||||||
"go-admin/apis/sysfileinfo"
|
"go-admin/app/admin/apis/sysfileinfo"
|
||||||
)
|
)
|
||||||
|
|
||||||
// 无需认证的路由代码
|
// 无需认证的路由代码
|
||||||
@@ -1,22 +1,23 @@
|
|||||||
package router
|
package router
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"go-admin/apis/actions"
|
"mime"
|
||||||
log2 "go-admin/apis/log"
|
|
||||||
"go-admin/apis/monitor"
|
log2 "go-admin/app/admin/apis/log"
|
||||||
"go-admin/apis/public"
|
"go-admin/app/admin/apis/monitor"
|
||||||
"go-admin/apis/sysjob"
|
"go-admin/app/admin/apis/public"
|
||||||
"go-admin/apis/system"
|
"go-admin/app/admin/apis/sysjob"
|
||||||
"go-admin/apis/system/dict"
|
"go-admin/app/admin/apis/system"
|
||||||
. "go-admin/apis/tools"
|
"go-admin/app/admin/apis/system/dict"
|
||||||
|
. "go-admin/app/admin/apis/tools"
|
||||||
|
"go-admin/app/admin/middleware"
|
||||||
|
"go-admin/app/admin/middleware/handler"
|
||||||
|
"go-admin/app/admin/models"
|
||||||
|
"go-admin/app/admin/service/dto"
|
||||||
|
"go-admin/common/actions"
|
||||||
_ "go-admin/docs"
|
_ "go-admin/docs"
|
||||||
"go-admin/handler"
|
|
||||||
"go-admin/middleware"
|
|
||||||
"go-admin/models"
|
|
||||||
jwt "go-admin/pkg/jwtauth"
|
jwt "go-admin/pkg/jwtauth"
|
||||||
"go-admin/pkg/ws"
|
"go-admin/pkg/ws"
|
||||||
"go-admin/service/dto"
|
|
||||||
"mime"
|
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
ginSwagger "github.com/swaggo/gin-swagger"
|
ginSwagger "github.com/swaggo/gin-swagger"
|
||||||
@@ -112,14 +113,14 @@ func registerSysJobRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddlew
|
|||||||
r := v1.Group("/sysjob").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
|
r := v1.Group("/sysjob").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
|
||||||
{
|
{
|
||||||
sysJob := &models.SysJob{}
|
sysJob := &models.SysJob{}
|
||||||
r.GET("", actions.IndexAction(sysJob, new(dto.SysJobSearch), func() interface{} {
|
r.GET("", actions.PermissionAction(), actions.IndexAction(sysJob, new(dto.SysJobSearch), func() interface{} {
|
||||||
list := make([]models.SysJob, 0)
|
list := make([]models.SysJob, 0)
|
||||||
return &list
|
return &list
|
||||||
}))
|
}))
|
||||||
r.GET("/:id", actions.ViewAction(new(dto.SysJobById)))
|
r.GET("/:id", actions.PermissionAction(), actions.ViewAction(new(dto.SysJobById)))
|
||||||
r.POST("", actions.CreateAction(new(dto.SysJobControl)))
|
r.POST("", actions.CreateAction(new(dto.SysJobControl)))
|
||||||
r.PUT("", actions.UpdateAction(new(dto.SysJobControl)))
|
r.PUT("", actions.PermissionAction(), actions.UpdateAction(new(dto.SysJobControl)))
|
||||||
r.DELETE("/:id", actions.DeleteAction(new(dto.SysJobById)))
|
r.DELETE("/:id", actions.PermissionAction(), actions.DeleteAction(new(dto.SysJobById)))
|
||||||
}
|
}
|
||||||
|
|
||||||
v1.GET("/job/remove/:jobId", sysjob.RemoveJob)
|
v1.GET("/job/remove/:jobId", sysjob.RemoveJob)
|
||||||
@@ -2,8 +2,10 @@ package dto
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"go-admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools/model"
|
"go-admin/common/dto"
|
||||||
|
models2 "go-admin/common/models"
|
||||||
|
"net/http"
|
||||||
)
|
)
|
||||||
|
|
||||||
type SysJobSearch struct {
|
type SysJobSearch struct {
|
||||||
@@ -24,7 +26,7 @@ func (m *SysJobSearch) Bind(ctx *gin.Context) error {
|
|||||||
return ctx.Bind(m)
|
return ctx.Bind(m)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *SysJobSearch) Generate() Index {
|
func (m *SysJobSearch) Generate() dto.Index {
|
||||||
o := *m
|
o := *m
|
||||||
return &o
|
return &o
|
||||||
}
|
}
|
||||||
@@ -55,12 +57,12 @@ func (s *SysJobControl) Bind(ctx *gin.Context) error {
|
|||||||
return ctx.Bind(s)
|
return ctx.Bind(s)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SysJobControl) Generate() Control {
|
func (s *SysJobControl) Generate() dto.Control {
|
||||||
cp := *s
|
cp := *s
|
||||||
return &cp
|
return &cp
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SysJobControl) GenerateM() (model.ActiveRecord, error) {
|
func (s *SysJobControl) GenerateM() (models2.ActiveRecord, error) {
|
||||||
return &models.SysJob{
|
return &models.SysJob{
|
||||||
JobId: s.JobId,
|
JobId: s.JobId,
|
||||||
JobName: s.JobName,
|
JobName: s.JobName,
|
||||||
@@ -76,21 +78,40 @@ func (s *SysJobControl) GenerateM() (model.ActiveRecord, error) {
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SysJobControl) GetId() interface{} {
|
||||||
|
return s.JobId
|
||||||
|
}
|
||||||
|
|
||||||
type SysJobById struct {
|
type SysJobById struct {
|
||||||
Id int `uri:"id" validate:"required"`
|
Id int `uri:"id" validate:"required"`
|
||||||
|
Ids []int `json:"ids"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SysJobById) Bind(ctx *gin.Context) error {
|
func (s *SysJobById) Bind(ctx *gin.Context) error {
|
||||||
|
if ctx.Request.Method == http.MethodDelete {
|
||||||
|
err := ctx.Bind(s)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if len(s.Ids) > 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
return ctx.BindUri(s)
|
return ctx.BindUri(s)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SysJobById) Generate() Control {
|
func (s *SysJobById) Generate() dto.Control {
|
||||||
cp := *s
|
cp := *s
|
||||||
return &cp
|
return &cp
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SysJobById) GenerateM() (model.ActiveRecord, error) {
|
func (s *SysJobById) GenerateM() (models2.ActiveRecord, error) {
|
||||||
return &models.SysJob{
|
return &models.SysJob{}, nil
|
||||||
JobId: s.Id,
|
}
|
||||||
}, nil
|
|
||||||
|
func (s *SysJobById) GetId() interface{} {
|
||||||
|
if len(s.Ids) > 0 {
|
||||||
|
return s.Ids
|
||||||
|
}
|
||||||
|
return s.Id
|
||||||
}
|
}
|
||||||
@@ -7,8 +7,8 @@ import (
|
|||||||
|
|
||||||
"github.com/robfig/cron/v3"
|
"github.com/robfig/cron/v3"
|
||||||
|
|
||||||
"go-admin/global"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/models"
|
"go-admin/common/global"
|
||||||
"go-admin/pkg"
|
"go-admin/pkg"
|
||||||
"go-admin/pkg/cronjob"
|
"go-admin/pkg/cronjob"
|
||||||
)
|
)
|
||||||
+4
-4
@@ -13,12 +13,12 @@ import (
|
|||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"github.com/spf13/viper"
|
"github.com/spf13/viper"
|
||||||
|
|
||||||
"go-admin/database"
|
"go-admin/app/admin/router"
|
||||||
"go-admin/global"
|
"go-admin/app/jobs"
|
||||||
"go-admin/jobs"
|
"go-admin/common/database"
|
||||||
|
"go-admin/common/global"
|
||||||
mycasbin "go-admin/pkg/casbin"
|
mycasbin "go-admin/pkg/casbin"
|
||||||
"go-admin/pkg/logger"
|
"go-admin/pkg/logger"
|
||||||
"go-admin/router"
|
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/config"
|
"go-admin/tools/config"
|
||||||
)
|
)
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ import (
|
|||||||
"go-admin/cmd/config"
|
"go-admin/cmd/config"
|
||||||
"go-admin/cmd/migrate"
|
"go-admin/cmd/migrate"
|
||||||
"go-admin/cmd/version"
|
"go-admin/cmd/version"
|
||||||
"go-admin/global"
|
"go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ import (
|
|||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
"go-admin/database"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/global"
|
"go-admin/app/admin/models/gorm"
|
||||||
"go-admin/models"
|
"go-admin/common/database"
|
||||||
"go-admin/models/gorm"
|
"go-admin/common/global"
|
||||||
"go-admin/pkg/logger"
|
"go-admin/pkg/logger"
|
||||||
"go-admin/tools/config"
|
"go-admin/tools/config"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
|
||||||
"go-admin/global"
|
"go-admin/common/global"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -2,18 +2,17 @@ package actions
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"go-admin/service/dto"
|
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
dto2 "go-admin/common/dto"
|
||||||
|
"go-admin/common/models"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
"go-admin/tools/model"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// CreateAction 通用新增动作
|
// CreateAction 通用新增动作
|
||||||
func CreateAction(control dto.Control) gin.HandlerFunc {
|
func CreateAction(control dto2.Control) gin.HandlerFunc {
|
||||||
return func(c *gin.Context) {
|
return func(c *gin.Context) {
|
||||||
req := control.Generate()
|
req := control.Generate()
|
||||||
var err error
|
var err error
|
||||||
@@ -28,17 +27,17 @@ func CreateAction(control dto.Control) gin.HandlerFunc {
|
|||||||
db := idb.(*gorm.DB)
|
db := idb.(*gorm.DB)
|
||||||
err = req.Bind(c)
|
err = req.Bind(c)
|
||||||
tools.HasError(err, "参数验证失败", 422)
|
tools.HasError(err, "参数验证失败", 422)
|
||||||
var object model.ActiveRecord
|
var object models.ActiveRecord
|
||||||
object, err = req.GenerateM()
|
object, err = req.GenerateM()
|
||||||
tools.HasError(err, "模型生成失败", 422)
|
tools.HasError(err, "模型生成失败", 422)
|
||||||
object.SetCreateBy(tools.GetUserIdStr(c))
|
object.SetCreateBy(tools.GetUserIdUint(c))
|
||||||
err = db.WithContext(c).Create(object).Error
|
err = db.WithContext(c).Create(object).Error
|
||||||
tools.HasError(err, "创建失败", 500)
|
tools.HasError(err, "创建失败", 500)
|
||||||
app.OK(c, object.GetId(), "创建成功")
|
app.OK(c, object.GetId(), "创建成功")
|
||||||
|
c.Next()
|
||||||
default:
|
default:
|
||||||
err = errors.New("db connect not exist")
|
err = errors.New("db connect not exist")
|
||||||
tools.HasError(err, "", 500)
|
tools.HasError(err, "", 500)
|
||||||
}
|
}
|
||||||
c.Next()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,18 +2,18 @@ package actions
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"go-admin/service/dto"
|
dto2 "go-admin/common/dto"
|
||||||
|
"go-admin/common/models"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/model"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// DeleteAction 通用删除动作
|
// DeleteAction 通用删除动作
|
||||||
func DeleteAction(control dto.Control) gin.HandlerFunc {
|
func DeleteAction(control dto2.Control) gin.HandlerFunc {
|
||||||
return func(c *gin.Context) {
|
return func(c *gin.Context) {
|
||||||
var err error
|
var err error
|
||||||
idb, exist := c.Get("db")
|
idb, exist := c.Get("db")
|
||||||
@@ -28,17 +28,28 @@ func DeleteAction(control dto.Control) gin.HandlerFunc {
|
|||||||
req := control.Generate()
|
req := control.Generate()
|
||||||
err = req.Bind(c)
|
err = req.Bind(c)
|
||||||
tools.HasError(err, "参数验证失败", 422)
|
tools.HasError(err, "参数验证失败", 422)
|
||||||
var object model.ActiveRecord
|
var object models.ActiveRecord
|
||||||
object, err = req.GenerateM()
|
object, err = req.GenerateM()
|
||||||
tools.HasError(err, "模型生成失败", 500)
|
tools.HasError(err, "模型生成失败", 500)
|
||||||
object.SetUpdateBy(tools.GetUserIdStr(c))
|
|
||||||
err = db.WithContext(c).Delete(object).Error
|
object.SetUpdateBy(tools.GetUserIdUint(c))
|
||||||
tools.HasError(err, "更新失败", 500)
|
|
||||||
app.OK(c, object.GetId(), "更新成功")
|
//数据权限检查
|
||||||
|
p := getPermissionFromContext(c)
|
||||||
|
|
||||||
|
db = db.WithContext(c).Scopes(
|
||||||
|
Permission(object.TableName(), p),
|
||||||
|
).Where(req.GetId()).Delete(object)
|
||||||
|
tools.HasError(db.Error, "删除失败", 500)
|
||||||
|
if db.RowsAffected == 0 {
|
||||||
|
err = errors.New("无权删除该数据")
|
||||||
|
tools.HasError(err, "", 403)
|
||||||
|
}
|
||||||
|
app.OK(c, object.GetId(), "删除成功")
|
||||||
|
c.Next()
|
||||||
default:
|
default:
|
||||||
err = errors.New("db connect not exist")
|
err = errors.New("db connect not exist")
|
||||||
tools.HasError(err, "", 500)
|
tools.HasError(err, "", 500)
|
||||||
}
|
}
|
||||||
c.Next()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,18 +2,18 @@ package actions
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
dto2 "go-admin/common/dto"
|
||||||
|
"go-admin/common/models"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
"go-admin/service/dto"
|
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
"go-admin/tools/model"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// IndexAction 通用查询动作
|
// IndexAction 通用查询动作
|
||||||
func IndexAction(m model.ActiveRecord, d dto.Index, f func() interface{}) gin.HandlerFunc {
|
func IndexAction(m models.ActiveRecord, d dto2.Index, f func() interface{}) gin.HandlerFunc {
|
||||||
return func(c *gin.Context) {
|
return func(c *gin.Context) {
|
||||||
list := f()
|
list := f()
|
||||||
object := m.Generate()
|
object := m.Generate()
|
||||||
@@ -33,15 +33,14 @@ func IndexAction(m model.ActiveRecord, d dto.Index, f func() interface{}) gin.Ha
|
|||||||
tools.HasError(err, "参数验证失败", 422)
|
tools.HasError(err, "参数验证失败", 422)
|
||||||
err = req.Bind(c)
|
err = req.Bind(c)
|
||||||
tools.HasError(err, "参数验证失败", 422)
|
tools.HasError(err, "参数验证失败", 422)
|
||||||
var p = new(dataPermission)
|
|
||||||
if userId := tools.GetUserIdStr(c); userId != "" {
|
//数据权限检查
|
||||||
p, err = newDataPermission(db, userId)
|
p := getPermissionFromContext(c)
|
||||||
tools.HasError(err, "权限范围鉴定错误", 500)
|
|
||||||
}
|
|
||||||
err = db.WithContext(c).Model(object).
|
err = db.WithContext(c).Model(object).
|
||||||
Scopes(
|
Scopes(
|
||||||
tools.MakeCondition(req.GetNeedSearch()),
|
dto2.MakeCondition(req.GetNeedSearch()),
|
||||||
tools.Paginate(req.GetPageSize(), req.GetPageIndex()),
|
dto2.Paginate(req.GetPageSize(), req.GetPageIndex()),
|
||||||
Permission(object.TableName(), p),
|
Permission(object.TableName(), p),
|
||||||
).
|
).
|
||||||
Find(list).Limit(-1).Offset(-1).
|
Find(list).Limit(-1).Offset(-1).
|
||||||
@@ -49,11 +48,11 @@ func IndexAction(m model.ActiveRecord, d dto.Index, f func() interface{}) gin.Ha
|
|||||||
if !errors.Is(err, gorm.ErrRecordNotFound) {
|
if !errors.Is(err, gorm.ErrRecordNotFound) {
|
||||||
tools.HasError(err, "查询失败", 500)
|
tools.HasError(err, "查询失败", 500)
|
||||||
}
|
}
|
||||||
|
app.PageOK(c, list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
|
||||||
|
c.Next()
|
||||||
default:
|
default:
|
||||||
err = errors.New("db connect not exist")
|
err = errors.New("db connect not exist")
|
||||||
tools.HasError(err, "", 500)
|
tools.HasError(err, "", 500)
|
||||||
}
|
}
|
||||||
app.PageOK(c, list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
|
|
||||||
c.Next()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,8 @@ package actions
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"go-admin/models"
|
"fmt"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
"go-admin/tools/config"
|
"go-admin/tools/config"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
@@ -17,26 +18,55 @@ type dataPermission struct {
|
|||||||
RoleId int
|
RoleId int
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func PermissionAction() gin.HandlerFunc {
|
||||||
|
return func(c *gin.Context) {
|
||||||
|
var err error
|
||||||
|
idb, exist := c.Get("db")
|
||||||
|
if !exist {
|
||||||
|
err = errors.New("db connect not exist")
|
||||||
|
tools.HasError(err, "", 500)
|
||||||
|
}
|
||||||
|
switch idb.(type) {
|
||||||
|
case *gorm.DB:
|
||||||
|
db := idb.(*gorm.DB)
|
||||||
|
var p = new(dataPermission)
|
||||||
|
if userId := tools.GetUserIdStr(c); userId != "" {
|
||||||
|
p, err = newDataPermission(db, userId)
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(500, gin.H{
|
||||||
|
"code": 500,
|
||||||
|
"msg": fmt.Sprintf("权限范围鉴定错误, error:%v", err),
|
||||||
|
})
|
||||||
|
c.Abort()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
c.Set(PermissionKey, p)
|
||||||
|
default:
|
||||||
|
c.JSON(500, gin.H{
|
||||||
|
"code": 500,
|
||||||
|
"msg": "db connect not exist",
|
||||||
|
})
|
||||||
|
c.Abort()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
c.Next()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func newDataPermission(tx *gorm.DB, userId interface{}) (*dataPermission, error) {
|
func newDataPermission(tx *gorm.DB, userId interface{}) (*dataPermission, error) {
|
||||||
var err error
|
var err error
|
||||||
p := &dataPermission{}
|
p := &dataPermission{}
|
||||||
sysUser := new(models.SysUser)
|
|
||||||
sysRole := new(models.SysRole)
|
|
||||||
|
|
||||||
err = sysUser.GetByUserId(tx, userId)
|
err = tx.Table("sys_user").
|
||||||
|
Select("sys_user.user_id", "sys_role.role_id", "sys_user.dept_id", "sys_role.data_scope").
|
||||||
|
Joins("left join sys_role on sys_role.role_id = sys_user.role_id").
|
||||||
|
Where("sys_user.user_id = ?", userId).
|
||||||
|
Scan(&p).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = errors.New("获取用户数据出错 msg:" + err.Error())
|
err = errors.New("获取用户数据出错 msg:" + err.Error())
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
p.UserId = sysUser.UserId
|
|
||||||
p.RoleId = sysUser.RoleId
|
|
||||||
p.DeptId = sysUser.DeptId
|
|
||||||
err = sysRole.GetById(tx, sysUser.RoleId)
|
|
||||||
if err != nil {
|
|
||||||
err = errors.New("获取用户数据出错 msg:" + err.Error())
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
p.DataScope = sysRole.DataScope
|
|
||||||
return p, nil
|
return p, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,3 +89,14 @@ func Permission(tableName string, p *dataPermission) func(db *gorm.DB) *gorm.DB
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getPermissionFromContext(c *gin.Context) *dataPermission {
|
||||||
|
p := new(dataPermission)
|
||||||
|
if pm, ok := c.Get(PermissionKey); ok {
|
||||||
|
switch pm.(type) {
|
||||||
|
case *dataPermission:
|
||||||
|
p = pm.(*dataPermission)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return p
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package actions
|
||||||
|
|
||||||
|
const (
|
||||||
|
PermissionKey = "dataPermission"
|
||||||
|
)
|
||||||
@@ -2,18 +2,17 @@ package actions
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"go-admin/service/dto"
|
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
dto2 "go-admin/common/dto"
|
||||||
|
"go-admin/common/models"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
"go-admin/tools/model"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// UpdateAction 通用更新动作
|
// UpdateAction 通用更新动作
|
||||||
func UpdateAction(control dto.Control) gin.HandlerFunc {
|
func UpdateAction(control dto2.Control) gin.HandlerFunc {
|
||||||
return func(c *gin.Context) {
|
return func(c *gin.Context) {
|
||||||
req := control.Generate()
|
req := control.Generate()
|
||||||
var err error
|
var err error
|
||||||
@@ -28,17 +27,27 @@ func UpdateAction(control dto.Control) gin.HandlerFunc {
|
|||||||
db := idb.(*gorm.DB)
|
db := idb.(*gorm.DB)
|
||||||
err = req.Bind(c)
|
err = req.Bind(c)
|
||||||
tools.HasError(err, "参数验证失败", 422)
|
tools.HasError(err, "参数验证失败", 422)
|
||||||
var object model.ActiveRecord
|
var object models.ActiveRecord
|
||||||
object, err = req.GenerateM()
|
object, err = req.GenerateM()
|
||||||
tools.HasError(err, "参数验证失败", 422)
|
tools.HasError(err, "参数验证失败", 422)
|
||||||
object.SetUpdateBy(tools.GetUserIdStr(c))
|
object.SetUpdateBy(tools.GetUserIdUint(c))
|
||||||
err = db.WithContext(c).Updates(object).Error
|
|
||||||
tools.HasError(err, "更新失败", 500)
|
//数据权限检查
|
||||||
|
p := getPermissionFromContext(c)
|
||||||
|
|
||||||
|
db = db.WithContext(c).Scopes(
|
||||||
|
Permission(object.TableName(), p),
|
||||||
|
).Where(req.GetId()).Updates(object)
|
||||||
|
tools.HasError(db.Error, "更新失败", 500)
|
||||||
|
if db.RowsAffected == 0 {
|
||||||
|
err = errors.New("无权更新该数据")
|
||||||
|
tools.HasError(err, "", 403)
|
||||||
|
}
|
||||||
app.OK(c, object.GetId(), "更新成功")
|
app.OK(c, object.GetId(), "更新成功")
|
||||||
|
c.Next()
|
||||||
default:
|
default:
|
||||||
err = errors.New("db connect not exist")
|
err = errors.New("db connect not exist")
|
||||||
tools.HasError(err, "", 500)
|
tools.HasError(err, "", 500)
|
||||||
}
|
}
|
||||||
c.Next()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,18 +2,18 @@ package actions
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"go-admin/service/dto"
|
dto2 "go-admin/common/dto"
|
||||||
|
"go-admin/common/models"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/model"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// ViewAction 通用详情动作
|
// ViewAction 通用详情动作
|
||||||
func ViewAction(control dto.Control) gin.HandlerFunc {
|
func ViewAction(control dto2.Control) gin.HandlerFunc {
|
||||||
return func(c *gin.Context) {
|
return func(c *gin.Context) {
|
||||||
var err error
|
var err error
|
||||||
idb, exist := c.Get("db")
|
idb, exist := c.Get("db")
|
||||||
@@ -28,16 +28,25 @@ func ViewAction(control dto.Control) gin.HandlerFunc {
|
|||||||
req := control.Generate()
|
req := control.Generate()
|
||||||
err = req.Bind(c)
|
err = req.Bind(c)
|
||||||
tools.HasError(err, "参数验证失败", 422)
|
tools.HasError(err, "参数验证失败", 422)
|
||||||
var object model.ActiveRecord
|
var object models.ActiveRecord
|
||||||
object, err = req.GenerateM()
|
object, err = req.GenerateM()
|
||||||
tools.HasError(err, "模型生成失败", 500)
|
tools.HasError(err, "模型生成失败", 500)
|
||||||
err = db.WithContext(c).First(object).Error
|
|
||||||
|
//数据权限检查
|
||||||
|
p := getPermissionFromContext(c)
|
||||||
|
|
||||||
|
err = db.WithContext(c).Scopes(
|
||||||
|
Permission(object.TableName(), p),
|
||||||
|
).Where(req.GetId()).First(object).Error
|
||||||
|
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||||
|
tools.HasError(err, "查看失败", 404)
|
||||||
|
}
|
||||||
tools.HasError(err, "查看失败", 500)
|
tools.HasError(err, "查看失败", 500)
|
||||||
app.OK(c, object, "查看成功")
|
app.OK(c, object, "查看成功")
|
||||||
|
c.Next()
|
||||||
default:
|
default:
|
||||||
err = errors.New("db connect not exist")
|
err = errors.New("db connect not exist")
|
||||||
tools.HasError(err, "", 500)
|
tools.HasError(err, "", 500)
|
||||||
}
|
}
|
||||||
c.Next()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -9,7 +9,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"go-admin/global"
|
"go-admin/common/global"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/config"
|
"go-admin/tools/config"
|
||||||
)
|
)
|
||||||
@@ -10,7 +10,7 @@ import (
|
|||||||
"gorm.io/gorm/logger"
|
"gorm.io/gorm/logger"
|
||||||
"gorm.io/gorm/schema"
|
"gorm.io/gorm/schema"
|
||||||
|
|
||||||
"go-admin/global"
|
"go-admin/common/global"
|
||||||
"go-admin/tools/config"
|
"go-admin/tools/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ import (
|
|||||||
"gorm.io/gorm/logger"
|
"gorm.io/gorm/logger"
|
||||||
"gorm.io/gorm/schema"
|
"gorm.io/gorm/schema"
|
||||||
|
|
||||||
"go-admin/global"
|
"go-admin/common/global"
|
||||||
"go-admin/tools/config"
|
"go-admin/tools/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package tools
|
package dto
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"go-admin/tools/config"
|
"go-admin/tools/config"
|
||||||
@@ -2,7 +2,7 @@ package dto
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"go-admin/tools/model"
|
"go-admin/common/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Index interface {
|
type Index interface {
|
||||||
@@ -16,5 +16,6 @@ type Index interface {
|
|||||||
type Control interface {
|
type Control interface {
|
||||||
Generate() Control
|
Generate() Control
|
||||||
Bind(ctx *gin.Context) error
|
Bind(ctx *gin.Context) error
|
||||||
GenerateM() (model.ActiveRecord, error)
|
GenerateM() (models.ActiveRecord, error)
|
||||||
|
GetId() interface{}
|
||||||
}
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user