feat: rbac完善,file接入完成

This commit is contained in:
Blizzard
2026-05-01 12:56:08 +08:00
parent bbd3f834b9
commit a93477ea8e
81 changed files with 5470 additions and 371 deletions
@@ -9,7 +9,6 @@ import (
"sundynix-micro-go/app/system/rpc/system"
"github.com/zeromicro/go-zero/core/logx"
"gorm.io/gorm"
)
type UpdateRoleLogic struct {
@@ -23,26 +22,10 @@ func NewUpdateRoleLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Update
}
func (l *UpdateRoleLogic) UpdateRole(in *system.RoleUpdateReq) (*system.CommonResp, error) {
err := l.svcCtx.DB.Transaction(func(tx *gorm.DB) error {
if err := tx.Model(&sysModel.SundynixRole{}).Where("id = ?", in.Id).Updates(map[string]interface{}{
"name": in.Name, "code": in.Code, "sort": in.Sort,
}).Error; err != nil {
return fmt.Errorf("更新角色失败: %w", err)
}
// 先删除旧的菜单关联
if err := tx.Where("role_id = ?", in.Id).Delete(&sysModel.SundynixRoleMenu{}).Error; err != nil {
return fmt.Errorf("清除菜单关联失败: %w", err)
}
// 重新关联菜单
for _, mid := range in.MenuIds {
if err := tx.Create(&sysModel.SundynixRoleMenu{RoleID: in.Id, MenuID: mid}).Error; err != nil {
return fmt.Errorf("关联菜单失败: %w", err)
}
}
return nil
})
if err != nil {
return nil, err
if err := l.svcCtx.DB.Model(&sysModel.SundynixRole{}).Where("id = ?", in.Id).Updates(map[string]interface{}{
"name": in.Name, "code": in.Code, "sort": in.Sort,
}).Error; err != nil {
return nil, fmt.Errorf("更新角色失败: %w", err)
}
return &system.CommonResp{Code: 200, Msg: "success"}, nil
}