前后端一致修复

This commit is contained in:
linwenxiang
2021-02-19 16:50:57 +08:00
parent a4f8b11925
commit e04b5559bd
19 changed files with 176 additions and 84 deletions
+5 -1
View File
@@ -2,6 +2,7 @@ package system
import (
"github.com/gin-gonic/gin"
"go-admin/app/admin/service/dto"
"go-admin/app/admin/models"
"go-admin/common/global"
@@ -126,9 +127,12 @@ func UpdateRole(c *gin.Context) {
func UpdateRoleDataScope(c *gin.Context) {
var data models.SysRole
var req dto.RoleDataScopeReq
data.UpdateBy = tools.GetUserIdStr(c)
err := c.Bind(&data)
err := c.Bind(&req)
tools.HasError(err, "数据解析失败", -1)
data.RoleId = req.RoleId
data.DataScope = req.DataScope
result, err := data.Update(data.RoleId)
var t models.SysRoleDept
+6 -5
View File
@@ -6,10 +6,11 @@ import (
type SysFileDir struct {
models.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:路径"` // 路径
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:"-"` // 下级信息
models.ControlBy
models.ModelTime
}
@@ -22,7 +23,7 @@ type SysFileDirL struct {
Path string `json:"path" gorm:"type:varchar(255);comment:路径"` // 路径
models.ControlBy
models.ModelTime
Children []SysFileDirL `json:"children" gorm:"-"` // 下级信息
Children []SysFileDirL `json:"children,omitempty" gorm:"-"` // 下级信息
}
func (SysFileDir) TableName() string { /**/
+1 -1
View File
@@ -106,7 +106,7 @@ func (e *SysContent) Update(id int) (update SysContent, err error) {
//参数1:是要修改的数据
//参数2:是修改的数据
if err = orm.Eloquent.Table(e.TableName()).Model(&update).Updates(&e).Error; err != nil {
if err = orm.Eloquent.Table(e.TableName()).Model(&update).Where("id = ?", id).Updates(&e).Error; err != nil {
return
}
return
+12 -11
View File
@@ -8,18 +8,19 @@ import (
type SysLoginLog struct {
models.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:信息"` //
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:最后更新时间"`
models.ControlBy
models.ModelTime
}
func (SysLoginLog) TableName() string {
+20 -19
View File
@@ -8,26 +8,27 @@ import (
type SysOperaLog struct {
models.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"` //
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:最后更新时间"`
models.ControlBy
models.ModelTime
}
func (SysOperaLog) TableName() string {
+4
View File
@@ -74,6 +74,10 @@ func (s *SysFileDirControl) GenerateM() (common.ActiveRecord, error) {
PId: s.PId,
//Sort: s.Sort,
Path: s.Path,
ControlBy: common.ControlBy{
CreateBy: s.CreateBy,
UpdateBy: s.UpdateBy,
},
}, nil
}
+1 -1
View File
@@ -96,7 +96,7 @@ func (s *SysLoginLogById) Bind(ctx *gin.Context) error {
log.Debugf("MsgID[%s] ShouldBindUri error: %s", msgID, err.Error())
return err
}
err = ctx.ShouldBind(s)
err = ctx.ShouldBind(&s.Ids)
if err != nil {
log.Debugf("MsgID[%s] ShouldBind error: %#v", msgID, err.Error())
}
+2 -2
View File
@@ -118,7 +118,7 @@ func (s *SysOperaLogById) Bind(ctx *gin.Context) error {
log.Debugf("MsgID[%s] ShouldBindUri error: %s", msgID, err.Error())
return err
}
err = ctx.ShouldBind(s)
err = ctx.ShouldBind(&s.Ids)
if err != nil {
log.Debugf("MsgID[%s] ShouldBind error: %#v", msgID, err.Error())
}
@@ -126,5 +126,5 @@ func (s *SysOperaLogById) Bind(ctx *gin.Context) error {
}
func (s *SysOperaLogById) SetUpdateBy(id int) {
}
+12 -6
View File
@@ -42,7 +42,7 @@ func (m *SysRoleSearch) Bind(ctx *gin.Context) error {
// SysConfigControl 增、改使用的结构体
type SysRoleControl struct {
RoleId int `uri:"roleId" comment:"角色编码"` // 角色编码
RoleId int `uri:"id" comment:"角色编码"` // 角色编码
RoleName string `form:"roleName" comment:"角色名称"` // 角色名称
Status string `form:"status" comment:"状态"` // 状态
RoleKey string `form:"roleKey" comment:"角色代码"` // 角色代码
@@ -56,15 +56,15 @@ type SysRoleControl struct {
// Bind 映射上下文中的结构体数据
func (s *SysRoleControl) Bind(ctx *gin.Context) error {
msgID := tools.GenerateMsgIDFromContext(ctx)
err := ctx.ShouldBindUri(s)
err := ctx.ShouldBindBodyWith(s, binding.JSON)
if err != nil {
log.Debugf("MsgID[%s] ShouldBind error: %#v", msgID, err.Error())
}
err = ctx.ShouldBindUri(s)
if err != nil {
log.Debugf("MsgID[%s] ShouldBindUri error: %s", msgID, err.Error())
return err
}
err = ctx.ShouldBindBodyWith(s, binding.JSON)
if err != nil {
log.Debugf("MsgID[%s] ShouldBind error: %#v", msgID, err.Error())
}
var jsonStr []byte
jsonStr, err = json.Marshal(s)
if err != nil {
@@ -126,3 +126,9 @@ func (s *SysRoleById) Bind(ctx *gin.Context) error {
func (s *SysRoleById) GenerateM() (*models.SysRole, error) {
return &models.SysRole{}, nil
}
// RoleDataScopeReq 角色数据权限修改
type RoleDataScopeReq struct {
RoleId int `json:"roleId" binding:"required"`
DataScope string `json:"dataScope" binding:"required"`
}
+15 -16
View File
@@ -2,13 +2,13 @@ package service
import (
"errors"
"fmt"
"go-admin/app/admin/models"
"go-admin/app/admin/service/dto"
"go-admin/common/actions"
cDto "go-admin/common/dto"
"go-admin/common/log"
"go-admin/common/service"
"go-admin/tools"
"gorm.io/gorm"
)
@@ -59,31 +59,30 @@ func (e *SysFileDir) GetSysFileDir(d cDto.Control, model *models.SysFileDir) err
// InsertSysFileDir 创建SysFileDir对象
func (e *SysFileDir) InsertSysFileDir(model *dto.SysFileDirControl) error {
var err error
var data models.SysFileDir
data, _ := model.GenerateM()
msgID := e.MsgID
db := e.Orm.Model(&data).
Create(model)
if db.Error != nil {
err = e.Orm.Create(data).Error
if err != nil {
log.Errorf("msgID[%s] db error:%s", msgID, err)
return err
}
id := model.GetId()
path := "/" + tools.IntToString(id.(int))
db = e.Orm.Model(&data).
First(&data, model.GetId())
err = db.Error
path := fmt.Sprintf("/%d", model.ID)
//db = e.Orm.Model(&data).
// First(&data, model.GetId())
//err = db.Error
if data.PId != 0 {
if model.PId != 0 {
var dept models.SysFileDir
e.Orm.Model(&data).Where("id = ?", data.PId).First(&dept)
e.Orm.Model(&models.SysFileDir{}).Where("id = ?", model.PId).First(&dept)
path = dept.Path + path
} else {
path = "/0" + path
}
//var mp = map[string]string{}
//mp["path"] = path
if err := e.Orm.Model(&data).Where("id = ?", data.ID).Update("path", path).Error; err != nil {
if err := e.Orm.Model(&models.SysFileDir{}).Where("id = ?", model.ID).Update("path", path).Error; err != nil {
return err
}
@@ -93,13 +92,13 @@ func (e *SysFileDir) InsertSysFileDir(model *dto.SysFileDirControl) error {
// UpdateSysFileDir 修改SysFileDir对象
func (e *SysFileDir) UpdateSysFileDir(c *dto.SysFileDirControl, p *actions.DataPermission) error {
var err error
var data models.SysFileDir
data, _ := c.GenerateM()
msgID := e.MsgID
db := e.Orm.Model(&data).
db := e.Orm.
Scopes(
actions.Permission(data.TableName(), p),
).Where(c.ID).Updates(c)
).Where(c.ID).Updates(data)
if db.Error != nil {
log.Errorf("msgID[%s] db error:%s", msgID, err)
return err
+2 -2
View File
@@ -97,7 +97,7 @@ func (e *SysLoginLog) RemoveSysLoginLog(d *dto.SysLoginLogById, c common.ActiveR
msgID := e.MsgID
db := e.Orm.Model(&data).
Where(d.GetId()).Delete(c)
Where(d.Ids).Delete(c)
if db.Error != nil {
err = db.Error
log.Errorf("MsgID[%s] Delete error: %s", msgID, err)
@@ -108,4 +108,4 @@ func (e *SysLoginLog) RemoveSysLoginLog(d *dto.SysLoginLogById, c common.ActiveR
return err
}
return nil
}
}
+1 -1
View File
@@ -95,7 +95,7 @@ func (e *SysOperaLog) RemoveSysOperaLog(d *dto.SysOperaLogById) error {
var data system.SysOperaLog
msgID := e.MsgID
db := e.Orm.Model(&data).Delete(&data, d.GetId())
db := e.Orm.Model(&data).Where(d.Ids).Delete(&data)
if db.Error != nil {
err = db.Error
log.Errorf("MsgID[%s] Delete error: %s", msgID, err)
-1
View File
@@ -84,7 +84,6 @@ func (e *SysRole) UpdateSysRole(c *system.SysRole) error {
}
if db.RowsAffected == 0 {
return errors.New("无权更新该数据")
}
return nil
}