flowable设计器自定义自己的人员选择器
背景:很多外国的设计是不合适国内的使用习惯,就比方说人员选择器和组选择器,他们都是id和第一个名字,中国哪里能看的懂呀,所以我们自定义修改一下。
1、自定义组选择器
@RestController @RequestMapping("/app") public class EditorGroupsResource { @Autowired protected IdmIdentityService idmIdentityService; @RequestMapping(value = "/rest/editor-groups", method = RequestMethod.GET) public ResultListDataRepresentation getGroups(@RequestParam(required = false, value = "filter") String filter) { if (StringUtils.isNotBlank(filter)) { filter = filter.trim(); String sql = "select * from act_id_group where NAME_ like #{name}"; filter = "%" + filter + "%"; List<Group> groups = idmIdentityService.createNativeGroupQuery().sql(sql).parameter("name", filter).listPage(0, 10); List<GroupRepresentation> result = new ArrayList<>(); for (Group group : groups) { result.add(new GroupRepresentation(group)); } return new ResultListDataRepresentation(result); } return null; } }
2、自定义人员选择器
@RestController @RequestMapping("/app") public class EditorUsersResource { @Autowired protected IdmIdentityService idmIdentityService; @Autowired protected ManagementService managementService; @RequestMapping(value = "/rest/editor-users", method = RequestMethod.GET) public ResultListDataRepresentation getUsers(@RequestParam(value = "filter", required = false) String filter) { if (StringUtils.isNotBlank(filter)) { filter = filter.trim(); String sql = "select * from act_id_user where ID_ like #{id} or LAST_ like #{name}"; filter = "%"+filter+"%"; List<User> matchingUsers = idmIdentityService.createNativeUserQuery().sql(sql).parameter("id",filter).parameter("name",filter).listPage(0, 10);List<UserRepresentation> userRepresentations = new ArrayList<>(matchingUsers.size()); for (User user : matchingUsers) { userRepresentations.add(new UserRepresentation(user)); } return new ResultListDataRepresentation(userRepresentations); } return null; } }
3、效果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】博客园2025新款「AI繁忙」系列T恤上架,前往周边小店选购
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Hangfire Redis 实现秒级定时任务,使用 CQRS 实现动态执行代码
· Android编译时动态插入代码原理与实践
· 解锁.NET 9性能优化黑科技:从内存管理到Web性能的最全指南
· 通过一个DEMO理解MCP(模型上下文协议)的生命周期
· MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题
· .NET周刊【4月第1期 2025-04-06】
· 工良出品 | 长文讲解 MCP 和案例实战
· 国产的 Java Solon v3.2.0 发布(央企信创的优选)
· 多年后再做Web开发,AI帮大忙
· centos停服,迁移centos7.3系统到新搭建的openEuler