当前位置: 首页 > backend >正文

E10 通过RPC实现账号批量锁定与解锁

需求背景:账号信息由三方系统管理,包含账号状态,所以需要通过提供给三方的 Rest 接口中,实现账号锁定与解锁。

参考基线版本:10.0.2506.01,过低的版本可能无法使用。

锁定分为两种:
(1)租户级别锁定,用户在某个租户中账号被锁定,可以切换到其他租户继续登录
(2)系统级别锁定,用户无法登录任意租户系统

如果调用 RPC 接口出现以下问题,可以联系注册登录模块人员出包升级 weaver-passport 处理。

相关代码 【lock-租户级别锁定、unlock-租户级别解锁、sysLock-系统级锁定、sysUnLock-系统级解锁】

 @GetMapping("/lock")public WeaResult<BasicCommonI18nResult<Boolean>> lock() {log.error("当前要锁定账户 ---> ");Long employeeId = Convert.toLong("1161719504622239745");Long userId = Convert.toLong("6855375158169694729");BatchBasicCommonUserLockDto batchDto = new BatchBasicCommonUserLockDto().setOnceOffLine(true);//是否下线List<BasicCommonUserLockDto> dtoList = new ArrayList<>();BasicCommonUserLockDto dto = new BasicCommonUserLockDto().setEmployeeId(employeeId).setTenantKey("tv6f3n07lw").setUserId(userId).setLockType("EMPLOYEE_LOCK").setSourceType("SECOND_DEVELOP");dtoList.add(dto);batchDto.setDtoList(dtoList);BasicCommonI18nResult<Boolean> result = remotePassportBaseService.batchCommonLockUser(batchDto);log.error("锁定账户结果 ---> " + result);return WeaResult.success(result);}@GetMapping("/unlock")public WeaResult<BasicCommonI18nResult<Boolean>> unlock() {log.error("当前要解锁账户 ---> ");Long employeeId = Convert.toLong("1161719504622239745");BatchBasicCommonUserLockDto batchDto = new BatchBasicCommonUserLockDto();BasicCommonUserLockDto dto = new BasicCommonUserLockDto().setEmployeeId(employeeId).setLockType("EMPLOYEE_LOCK");batchDto.setDtoList(Collections.singletonList(dto));BasicCommonI18nResult<Boolean> result = remotePassportBaseService.batchCommonUnLockUser(batchDto);log.error("解锁账户结果 ---> " + result);return WeaResult.success(result);}@GetMapping("sysLock")public WeaResult<BasicCommonI18nResult<Boolean>> sysLock() {log.error("系统级锁定账户 ---> ");Long employeeId = Convert.toLong("1161719504622239745");Long userId = Convert.toLong("6855375158169694729");BatchBasicCommonUserLockDto batchDto = new BatchBasicCommonUserLockDto().setOffLineMsg("您的账号已被管理员锁定").setOffLineI18nId("175861").setOnceOffLine(true);List<BasicCommonUserLockDto> dtoList = new ArrayList<>();BasicCommonUserLockDto dto = new BasicCommonUserLockDto().setEmployeeId(employeeId).setTenantKey("all_teams").setUserId(userId).setLockType("ACCOUNT_LOCK").setSourceType("SECOND_DEVELOP");dtoList.add(dto);batchDto.setDtoList(dtoList);BasicCommonI18nResult<Boolean> result = remotePassportBaseService.batchCommonLockUser(batchDto);log.error("系统级锁定结果 ---> " + result);return WeaResult.success(result);}@GetMapping("/sysUnLock")public WeaResult<BasicCommonI18nResult<Boolean>> sysUnLock() {log.error("系统级解锁 --->");Long userId = Convert.toLong("6855375158169694729");BatchBasicCommonUserLockDto batchDto = new BatchBasicCommonUserLockDto();BasicCommonUserLockDto dto = new BasicCommonUserLockDto().setUserId(userId).setLockType("ACCOUNT_LOCK");batchDto.setDtoList(Collections.singletonList(dto));BasicCommonI18nResult<Boolean> result = remotePassportBaseService.batchCommonUnLockUser(batchDto);log.error("系统级解锁结果 ---> " + result);return WeaResult.success(result);}
http://www.xdnf.cn/news/18215.html

相关文章:

  • 管理项目服务器连接数据库
  • 【语法】markdown非常用场景
  • 交叉编译.so到鸿蒙使用
  • ansible playbook 实战案例roles | 实现基于node_exporter的节点部署
  • AV1视频编码器2024-2025技术进展与行业应用分析
  • scikit-learn/sklearn学习|变量去中心化和标准化
  • 【iOS】NSRunLoop
  • PyCharm2025无法启动Powershell.exe的解决办法
  • Google Chrome 扩展不受信任 - 不受支持的清单版本 解决方案
  • 苹果XR芯片介绍
  • 【GPT入门】第51课 将hf模型转换为GGUF
  • MyBatis--缓存详解
  • ACE - 阿里开源的一站式AI图像生成和编辑模型
  • C++排序算法学习笔记
  • 【数据结构】用堆解决TOPK问题
  • Ansible 配置并行 - 项目管理笔记
  • Python入门第11课:Python网络请求入门,使用requests库轻松获取网页数据
  • Leetcode 深度优先搜索 (7)
  • Jenkins项目发布基础
  • UE5 使用RVT制作地形材质融合
  • 网络编程day3
  • leetcode2248. 多个数组求交集
  • Android13车机系统自定义系统栏显示策略之状态栏下拉异常
  • java八股文-中间件-参考回答
  • Commons-io
  • 微算法科技(NASDAQ: MLGO)研究利用PBFT中的动态视图变换机制,实现区块链系统高效运转
  • 2025年5月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(六)
  • 笔试——Day43
  • HJ4 字符串分隔
  • C++高频知识点(二十七)