This commit is contained in:
2026-07-18 10:52:32 +08:00
parent 2dcafae465
commit b5ef58f434
61 changed files with 1274 additions and 2142 deletions

View File

@@ -8,6 +8,7 @@ import (
"seeyon-filesystem/dto"
"seeyon-filesystem/model"
"seeyon-filesystem/repository"
"seeyon-filesystem/storage"
"seeyon-filesystem/utils"
)
@@ -55,6 +56,7 @@ func (s *AdminService) CreateUser(req *dto.UserCreateRequest) error {
}
user := &model.User{
ID: utils.GenID(),
Username: req.Username,
Password: hashed,
Email: req.Email,
@@ -77,7 +79,11 @@ func (s *AdminService) CreateUser(req *dto.UserCreateRequest) error {
// 分配角色
if len(req.RoleIDs) > 0 {
s.userRoleRepo.SetUserRoles(user.ID, req.RoleIDs)
roleIDs := make([]uint64, len(req.RoleIDs))
for i, id := range req.RoleIDs {
roleIDs[i] = uint64(id)
}
s.userRoleRepo.SetUserRoles(user.ID, roleIDs)
} else {
// 未指定角色时, 自动分配默认角色(user)
var defaultRole model.Role
@@ -99,7 +105,7 @@ func (s *AdminService) ListUsers(page, size int) ([]dto.UserVO, int64, error) {
vos := make([]dto.UserVO, 0, len(users))
for _, u := range users {
vo := dto.UserVO{
ID: u.ID,
ID: dto.StringID(u.ID),
Username: u.Username,
Email: u.Email,
Nickname: u.Nickname,
@@ -112,7 +118,7 @@ func (s *AdminService) ListUsers(page, size int) ([]dto.UserVO, int64, error) {
// 获取用户角色
roles, _ := s.userRoleRepo.GetUserRoles(u.ID)
for _, r := range roles {
vo.Roles = append(vo.Roles, dto.RoleVO{ID: r.ID, Name: r.Name, DisplayName: r.DisplayName})
vo.Roles = append(vo.Roles, dto.RoleVO{ID: dto.StringID(r.ID), Name: r.Name, DisplayName: r.DisplayName})
}
vos = append(vos, vo)
}
@@ -146,7 +152,11 @@ func (s *AdminService) UpdateUser(userID uint64, req *dto.UserUpdateRequest) err
// 更新角色
if req.RoleIDs != nil {
s.userRoleRepo.SetUserRoles(userID, req.RoleIDs)
roleIDs := make([]uint64, len(req.RoleIDs))
for i, id := range req.RoleIDs {
roleIDs[i] = uint64(id)
}
s.userRoleRepo.SetUserRoles(userID, roleIDs)
}
return nil
@@ -255,7 +265,13 @@ func (s *AdminService) UpdateStoragePolicy(id uint64, req *dto.StoragePolicyUpda
}
}
return s.policyRepo.Update(policy)
if err := s.policyRepo.Update(policy); err != nil {
return err
}
// 清除引擎缓存, 下次访问时用新配置重建
storage.InvalidateEngine(id)
return nil
}
// DeleteStoragePolicy 删除存储策略
@@ -277,6 +293,7 @@ func (s *AdminService) CreateDepartment(req *dto.DeptCreateRequest) error {
}
dept := &model.Department{
ID: utils.GenID(),
Name: req.Name,
Code: req.Code,
ParentID: req.ParentID,