diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/UserControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/UserControllerService.java index f293b30f..7f4707b7 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/UserControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/UserControllerService.java @@ -117,6 +117,7 @@ public class UserControllerService { .setPassword(PASSWORDENCODER.encode(request.getPassword())) .setLanguageCode(request.getLanguageCode()) .setPurchasingGroup(request.getPurchasingGroup()) + .setCreateById(UserUtil.getUserId()) .setCreateBy(UserUtil.getUserName()) .setCreateTime(LocalDateTime.now()); uService.add(user); @@ -323,6 +324,7 @@ public class UserControllerService { .setRemark(remark) .setUserCode(loginName) .setPassword(PASSWORDENCODER.encode(pwd)) + .setCreateById(UserUtil.getUserId()) .setCreateBy(UserUtil.getUserName()) .setMustResetPwd(mustResetPwd) .setCreateTime(LocalDateTime.now()); @@ -770,6 +772,15 @@ public class UserControllerService { @Transactional public void addLdapUsers(List ldapUsers) { + List existUserCodes = uService.lambdaQuery() + .select(User::getUserCode) + .in(User::getUserCode, ldapUsers.stream().map(UserAddLdapQO::getUserCode).collect(Collectors.toSet())) + .list() + .stream() + .map(User::getUserCode) + .collect(Collectors.toList()); + VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(existUserCodes)) + .throwMessage("以下用户工号已注册:" + StrUtil.join(",", existUserCodes)); List users = new ArrayList<>(); List userInteriors = new ArrayList<>(); List departments = deptService.lambdaQuery() @@ -792,6 +803,7 @@ public class UserControllerService { .setSourceId(userAddLdapQO.getDistinguishedName()) .setRemark("LDAP用户") .setLanguageCode(Constant.DEFAULT_LANGUAGE_CODE) + .setCreateById(UserUtil.getUserId()) .setCreateBy(UserUtil.getUserName()) .setCreateTime(LocalDateTime.now()); users.add(user); diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/MenuMapper.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/MenuMapper.java index f1f4e551..e03686a3 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/MenuMapper.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/MenuMapper.java @@ -22,4 +22,6 @@ public interface MenuMapper extends BaseMapper { Boolean menuIsSelected(Long roleId, Long menuId); List getAllDataForAuthorize(Long roleId); + + List getMenuIdsByRoleIds(List roleIds); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/MenuServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/MenuServiceImpl.java index e63138ba..78d026b7 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/MenuServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/MenuServiceImpl.java @@ -21,7 +21,6 @@ import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.Menu; import com.nflg.wms.repository.entity.MenuButton; import com.nflg.wms.repository.entity.RoleButtonMap; -import com.nflg.wms.repository.entity.RoleMenuMap; import com.nflg.wms.repository.mapper.MenuMapper; import com.nflg.wms.repository.service.*; import jakarta.annotation.Resource; @@ -35,7 +34,6 @@ import java.util.stream.Collectors; *

* 后台-菜单 服务实现类 *

- * * @author 代码生成器生成 * @since 2025 */ @@ -51,9 +49,6 @@ public class MenuServiceImpl extends ServiceImpl implements IM @Resource private IUserRoleMapService userRoleMapService; - @Resource - private IRoleMenuMapService roleMenuMapService; - @Override public List getMenuForAuthorize(Long roleId) { List datas = lambdaQuery() @@ -70,14 +65,9 @@ public class MenuServiceImpl extends ServiceImpl implements IM @Override public List getNodeForAuthorize(Long roleId) { List nodes = baseMapper.getAllDataForAuthorize(roleId); - if (!UserUtil.getRoles().contains(Constant.SUPER_ADMIN)){ - List userRoles=userRoleMapService.getRoleList(UserUtil.getUserId()); - List menuIds =roleMenuMapService.lambdaQuery() - .in(RoleMenuMap::getRoleId, userRoles.stream().map(RoleVO::getId).collect(Collectors.toList())) - .list() - .stream() - .map(RoleMenuMap::getMenuId) - .toList(); + if (!UserUtil.getRoles().contains(Constant.SUPER_ADMIN)) { + List userRoles = userRoleMapService.getRoleList(UserUtil.getUserId()); + List menuIds = baseMapper.getMenuIdsByRoleIds(userRoles.stream().map(RoleVO::getId).collect(Collectors.toList())); nodes.removeIf(v -> !menuIds.contains(v.getId())); } List rootNodes = nodes.stream().filter(v -> diff --git a/nflg-wms-repository/src/main/resources/mapper/MenuMapper.xml b/nflg-wms-repository/src/main/resources/mapper/MenuMapper.xml index 2566b4cb..624e1f02 100644 --- a/nflg-wms-repository/src/main/resources/mapper/MenuMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/MenuMapper.xml @@ -35,4 +35,13 @@ where "enable" = true order by sort; + +