diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/admin/user/UserController.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/admin/user/UserController.java index 4f6f3b9..99c023c 100644 --- a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/admin/user/UserController.java +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/admin/user/UserController.java @@ -7,6 +7,7 @@ import com.zteits.urbanops.framework.common.pojo.CommonResult; import com.zteits.urbanops.framework.common.pojo.PageParam; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; import com.zteits.urbanops.module.system.controller.admin.user.vo.user.*; import com.zteits.urbanops.module.system.convert.user.UserConvert; import com.zteits.urbanops.module.system.dal.dataobject.dept.DeptDO; @@ -192,4 +193,11 @@ public class UserController { return success(userService.importUserList(list, updateSupport)); } + @GetMapping("/get/busi-line") + @Operation(summary = "获取用户业务线") + //@PreAuthorize("@ss.hasPermission('system:user:query')") + public CommonResult > getUser() { + return success(userService.getLoginBusiLine()); + } + } diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/admin/user/vo/user/DictDataRespVO.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/admin/user/vo/user/DictDataRespVO.java new file mode 100644 index 0000000..5bda8c6 --- /dev/null +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/admin/user/vo/user/DictDataRespVO.java @@ -0,0 +1,29 @@ +package com.zteits.urbanops.module.system.controller.admin.user.vo.user; + +import com.zteits.urbanops.framework.common.enums.CommonStatusEnum; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 用户信息 Response VO") +@Data +public class DictDataRespVO { + + /** + * 字典标签 + */ + private String label; + /** + * 字典值 + */ + private String value; + /** + * 字典类型 + */ + private String dictType; + /** + * 状态 + * + * 枚举 {@link CommonStatusEnum} + */ + private Integer status; +} diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/user/AdminUserService.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/user/AdminUserService.java index c0d8a15..467b7a1 100644 --- a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/user/AdminUserService.java +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/user/AdminUserService.java @@ -6,10 +6,7 @@ import com.zteits.urbanops.framework.common.util.collection.CollectionUtils; import com.zteits.urbanops.module.system.controller.admin.auth.vo.AuthRegisterReqVO; import com.zteits.urbanops.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO; import com.zteits.urbanops.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO; -import com.zteits.urbanops.module.system.controller.admin.user.vo.user.UserImportExcelVO; -import com.zteits.urbanops.module.system.controller.admin.user.vo.user.UserImportRespVO; -import com.zteits.urbanops.module.system.controller.admin.user.vo.user.UserPageReqVO; -import com.zteits.urbanops.module.system.controller.admin.user.vo.user.UserSaveReqVO; +import com.zteits.urbanops.module.system.controller.admin.user.vo.user.*; import com.zteits.urbanops.module.system.dal.dataobject.user.AdminUserDO; import jakarta.validation.Valid; @@ -214,4 +211,10 @@ public interface AdminUserService { */ boolean isPasswordMatch(String rawPassword, String encodedPassword); + /** + * 获取登录人业务线列表 + * @return 业务线列表 + */ + List getLoginBusiLine(); + } diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/user/AdminUserServiceImpl.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/user/AdminUserServiceImpl.java index 671708c..03b4df5 100644 --- a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/user/AdminUserServiceImpl.java +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/user/AdminUserServiceImpl.java @@ -11,21 +11,21 @@ import com.zteits.urbanops.framework.common.util.collection.CollectionUtils; import com.zteits.urbanops.framework.common.util.object.BeanUtils; import com.zteits.urbanops.framework.common.util.validation.ValidationUtils; import com.zteits.urbanops.framework.datapermission.core.util.DataPermissionUtils; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; import com.zteits.urbanops.module.infra.api.config.ConfigApi; import com.zteits.urbanops.module.system.controller.admin.auth.vo.AuthRegisterReqVO; import com.zteits.urbanops.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO; import com.zteits.urbanops.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO; -import com.zteits.urbanops.module.system.controller.admin.user.vo.user.UserImportExcelVO; -import com.zteits.urbanops.module.system.controller.admin.user.vo.user.UserImportRespVO; -import com.zteits.urbanops.module.system.controller.admin.user.vo.user.UserPageReqVO; -import com.zteits.urbanops.module.system.controller.admin.user.vo.user.UserSaveReqVO; +import com.zteits.urbanops.module.system.controller.admin.user.vo.user.*; import com.zteits.urbanops.module.system.dal.dataobject.dept.DeptDO; import com.zteits.urbanops.module.system.dal.dataobject.dept.UserPostDO; +import com.zteits.urbanops.module.system.dal.dataobject.dict.DictDataDO; import com.zteits.urbanops.module.system.dal.dataobject.user.AdminUserDO; import com.zteits.urbanops.module.system.dal.mysql.dept.UserPostMapper; import com.zteits.urbanops.module.system.dal.mysql.user.AdminUserMapper; import com.zteits.urbanops.module.system.service.dept.DeptService; import com.zteits.urbanops.module.system.service.dept.PostService; +import com.zteits.urbanops.module.system.service.dict.DictDataService; import com.zteits.urbanops.module.system.service.permission.PermissionService; import com.zteits.urbanops.module.system.service.tenant.TenantService; import com.google.common.annotations.VisibleForTesting; @@ -83,6 +83,9 @@ public class AdminUserServiceImpl implements AdminUserService { @Resource private ConfigApi configApi; + @Resource + private DictDataService dictDataService; + @Override @Transactional(rollbackFor = Exception.class) @LogRecord(type = SYSTEM_USER_TYPE, subType = SYSTEM_USER_CREATE_SUB_TYPE, bizNo = "{{#user.id}}", @@ -525,6 +528,31 @@ public class AdminUserServiceImpl implements AdminUserService { return passwordEncoder.matches(rawPassword, encodedPassword); } + @Override + public List getLoginBusiLine() { + List list = dictDataService.getDictDataListByDictType("business_line"); + if (CollUtil.isEmpty(list)) { + return Collections.emptyList(); + } + List respList = BeanUtils.toBean(list, DictDataRespVO.class); + Long loginUserDeptId = SecurityFrameworkUtils.getLoginUserDeptId(); + + //超级管理员 + if (loginUserDeptId == null || loginUserDeptId == 100) { + return respList; + } + //其他用户 + String busiLine = SecurityFrameworkUtils.getBusiLine(); + if (StrUtil.isBlank(busiLine)) { + return respList; + } + List busiLineList = Arrays.asList(busiLine.split(",")); + + return respList.stream() + .filter(e -> busiLineList.contains(e.getValue())) + .collect(Collectors.toList()); + } + /** * 对密码进行加密 *