@OC](設計器自定義自己的人員、組選擇器)
背景
很多外國的設計是不合适國内的使用習慣,就比方說人員選擇器群組選擇器,他們都是id和第一個名字,中國哪裡能看的懂呀,是以我們自定義修改一下。
組選擇器
@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;
}
}
人員選擇器
@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;
}
}
實作效果
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SN4ADOxMDOiNDM5kzNhljYxYzX3EDMzYTM1EzLcJTMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)