sync: 同步 v1.0.4 并脱敏配置与镜像

This commit is contained in:
MiFaZhan
2026-10-29 14:36:49 +08:00
parent 743e8e6e6e
commit 2206a393f7
516 changed files with 18119 additions and 2253 deletions
+18 -2
View File
@@ -1,7 +1,7 @@
// package system
// @Link https://github.com/xiujiecn/xiu-admin
// @Copyright Copyright (c) 2025 LiXiujie
// @Author Lxj <li@xiujie.cn>
// @Author Lxj <xxx@example.com>
// @License https://github.com/xiujiecn/xiu-admin/blob/master/LICENSE
package system
@@ -16,6 +16,7 @@ import (
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/library/bcache"
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/library/contexts"
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/library/event"
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/library/rolepolicy"
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/library/xgorm/handler"
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/logic/smsgateway"
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/model"
@@ -317,6 +318,9 @@ func (l *sSysUser) AddUser(ctx context.Context, req *model.SysUserAddModel) (dat
return nil, gerror.NewCode(consts.CodeDeptNotFound, "部门不存在")
}
if err := rolepolicy.ValidateUserRoleAssignment(ctx, req.TenantId, req.DeptId, req.RoleIds, nil); err != nil {
return nil, err
}
// 判断用户名是否存在(在当前租户下)
var user *entity.SysUser
err = dao.SysUser.Ctx(ctx).Where(dao.SysUser.Columns().UserName, req.UserName).Where(dao.SysUser.Columns().TenantId, req.TenantId).Scan(&user)
@@ -600,6 +604,18 @@ func (l *sSysUser) UpdateUser(ctx context.Context, req *model.SysUserUpdateModel
return gerror.NewCode(consts.CodeUserNotFound, "用户不存在")
}
tenantId := existsUser.TenantId
existingRoles, err := l.GetUserRoleIds(ctx, req.UserId)
if err != nil {
return err
}
deptID := existsUser.DeptId
if req.DeptId != nil && *req.DeptId != deptID {
deptID = *req.DeptId
existingRoles = nil
}
if err := rolepolicy.ValidateUserRoleAssignment(ctx, tenantId, deptID, req.RoleIds, existingRoles); err != nil {
return err
}
req.UpdatedAt = gtime.Now()
req.UpdatedBy = &currUserId
_, err = l.Model(ctx).Where(dao.SysUser.Columns().UserId, req.UserId).Data(req).OmitNil().Update()
@@ -801,7 +817,7 @@ func (l *sSysUser) UpdateLoginInfo(ctx context.Context, userId int64, loginIp st
func (l *sSysUser) GetUserRoleIds(ctx context.Context, userId int64) (roleIds []int64, err error) {
urList := make([]*entity.SysUserRole, 0)
tenantId := contexts.GetTenantId(ctx)
db := dao.SysUserRole.Ctx(ctx).Where(dao.SysUserRole.Columns().UserId, userId)
db := dao.SysUserRole.Ctx(ctx).Master().Where(dao.SysUserRole.Columns().UserId, userId)
if tenantId != "" {
db = db.Where(dao.SysUserRole.Columns().TenantId, tenantId)
}