diff --git a/app/admin/service/sys_role.go b/app/admin/service/sys_role.go index ab374822..d5879a3d 100644 --- a/app/admin/service/sys_role.go +++ b/app/admin/service/sys_role.go @@ -2,6 +2,7 @@ package service import ( "errors" + "github.com/go-admin-team/go-admin-core/sdk/config" "gorm.io/gorm/clause" "github.com/casbin/casbin/v2" @@ -71,14 +72,17 @@ func (e *SysRole) Insert(c *dto.SysRoleInsertReq, cb *casbin.SyncedEnforcer) err } c.SysMenu = dataMenu c.Generate(&data) - tx := e.Orm.Begin() - defer func() { - if err != nil { - tx.Rollback() - } else { - tx.Commit() - } - }() + tx := e.Orm + if config.DatabaseConfig.Driver != "sqlite3" { + tx := e.Orm.Begin() + defer func() { + if err != nil { + tx.Rollback() + } else { + tx.Commit() + } + }() + } err = tx.Create(&data).Error if err != nil { @@ -108,14 +112,17 @@ func (e *SysRole) Insert(c *dto.SysRoleInsertReq, cb *casbin.SyncedEnforcer) err // Update 修改SysRole对象 func (e *SysRole) Update(c *dto.SysRoleUpdateReq, cb *casbin.SyncedEnforcer) error { var err error - tx := e.Orm.Debug().Begin() - defer func() { - if err != nil { - tx.Rollback() - } else { - tx.Commit() - } - }() + tx := e.Orm + if config.DatabaseConfig.Driver != "sqlite3" { + tx := e.Orm.Begin() + defer func() { + if err != nil { + tx.Rollback() + } else { + tx.Commit() + } + }() + } var model = models.SysRole{} var mlist = make([]models.SysMenu, 0) tx.Preload("SysMenu").First(&model, c.GetId()) @@ -142,7 +149,7 @@ func (e *SysRole) Update(c *dto.SysRoleUpdateReq, cb *casbin.SyncedEnforcer) err e.Log.Errorf("delete policy error:%s", err) return err } - mp:=make(map [string] interface{} ,0) + mp := make(map[string]interface{}, 0) polices := make([][]string, 0) for _, menu := range mlist { for _, api := range menu.SysApi { @@ -164,14 +171,17 @@ func (e *SysRole) Update(c *dto.SysRoleUpdateReq, cb *casbin.SyncedEnforcer) err // Remove 删除SysRole func (e *SysRole) Remove(c *dto.SysRoleDeleteReq) error { var err error - tx := e.Orm.Begin() - defer func() { - if err != nil { - tx.Rollback() - } else { - tx.Commit() - } - }() + tx := e.Orm + if config.DatabaseConfig.Driver != "sqlite3" { + tx := e.Orm.Begin() + defer func() { + if err != nil { + tx.Rollback() + } else { + tx.Commit() + } + }() + } var model = models.SysRole{} tx.Preload("SysMenu").Preload("SysDept").First(&model, c.GetId()) db := tx.Select(clause.Associations).Delete(&model) @@ -203,14 +213,17 @@ func (e *SysRole) GetRoleMenuId(roleId int) ([]int, error) { func (e *SysRole) UpdateDataScope(c *dto.RoleDataScopeReq) *SysRole { var err error - tx := e.Orm.Begin() - defer func() { - if err != nil { - tx.Rollback() - } else { - tx.Commit() - } - }() + tx := e.Orm + if config.DatabaseConfig.Driver != "sqlite3" { + tx := e.Orm.Begin() + defer func() { + if err != nil { + tx.Rollback() + } else { + tx.Commit() + } + }() + } var dlist = make([]models.SysDept, 0) var model = models.SysRole{} tx.Preload("SysDept").First(&model, c.RoleId) @@ -239,14 +252,17 @@ func (e *SysRole) UpdateDataScope(c *dto.RoleDataScopeReq) *SysRole { // UpdateStatus 修改SysRole对象status func (e *SysRole) UpdateStatus(c *dto.UpdateStatusReq) error { var err error - tx := e.Orm.Debug().Begin() - defer func() { - if err != nil { - tx.Rollback() - } else { - tx.Commit() - } - }() + tx := e.Orm + if config.DatabaseConfig.Driver != "sqlite3" { + tx := e.Orm.Begin() + defer func() { + if err != nil { + tx.Rollback() + } else { + tx.Commit() + } + }() + } var model = models.SysRole{} tx.First(&model, c.GetId()) c.Generate(&model) @@ -299,4 +315,4 @@ func (e *SysRole) GetById(roleId int) ([]string, error) { permissions = append(permissions, l[i].Permission) } return permissions, nil -} \ No newline at end of file +}