diff --git a/basic-interface/src/main/java/ink/wgink/interfaces/role/IRoleDepartmentUserBaseService.java b/basic-interface/src/main/java/ink/wgink/interfaces/role/IRoleDepartmentUserBaseService.java index 3177fca9..bd3d6609 100644 --- a/basic-interface/src/main/java/ink/wgink/interfaces/role/IRoleDepartmentUserBaseService.java +++ b/basic-interface/src/main/java/ink/wgink/interfaces/role/IRoleDepartmentUserBaseService.java @@ -2,7 +2,6 @@ package ink.wgink.interfaces.role; import ink.wgink.pojo.dtos.department.DepartmentUserDTO; -import java.lang.reflect.InvocationTargetException; import java.util.List; /** @@ -22,7 +21,7 @@ public interface IRoleDepartmentUserBaseService { * @param areaCode 地区编码 * @return */ - List listUserByRoleIdAndAreaCode(String roleId, String areaCode) throws InvocationTargetException, NoSuchMethodException, IllegalAccessException; + List listUserByRoleIdAndAreaCode(String roleId, String areaCode); /** * 获取指定部门中指定角色的用户列表接口 diff --git a/basic-util/src/main/java/ink/wgink/util/ArrayListUtil.java b/basic-util/src/main/java/ink/wgink/util/ArrayListUtil.java index 922376ae..476a531c 100644 --- a/basic-util/src/main/java/ink/wgink/util/ArrayListUtil.java +++ b/basic-util/src/main/java/ink/wgink/util/ArrayListUtil.java @@ -1,5 +1,6 @@ package ink.wgink.util; +import ink.wgink.exceptions.base.SystemException; import ink.wgink.util.string.WStringUtil; import java.io.*; @@ -44,19 +45,23 @@ public class ArrayListUtil { * @param beanClass * @param * @return - * @throws NoSuchMethodException - * @throws InvocationTargetException - * @throws IllegalAccessException */ - public static List listBeanStringIdValue(List beans, String propertyName, Class beanClass) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { + public static List listBeanStringIdValue(List beans, String propertyName, Class beanClass) { + if (beans.isEmpty()) { + return new ArrayList<>(); + } Set beanStringIdSet = new HashSet<>(); - for (Object bean : beans) { - Method method = bean.getClass().getMethod("get" + WStringUtil.firstToUpper(propertyName)); - Object result = method.invoke(bean); - if (result == null) { - continue; + try { + for (Object bean : beans) { + Method method = bean.getClass().getMethod("get" + WStringUtil.firstToUpper(propertyName)); + Object result = method.invoke(bean); + if (result == null) { + continue; + } + beanStringIdSet.add(result.toString()); } - beanStringIdSet.add(result.toString()); + } catch (Exception e) { + throw new SystemException(e); } return new ArrayList<>(beanStringIdSet); } diff --git a/login-oauth2-client/src/main/java/ink/wgink/login/oauth2/client/service/role/impl/RoleDepartmentUserServiceImpl.java b/login-oauth2-client/src/main/java/ink/wgink/login/oauth2/client/service/role/impl/RoleDepartmentUserServiceImpl.java index 00745aea..b43093e4 100644 --- a/login-oauth2-client/src/main/java/ink/wgink/login/oauth2/client/service/role/impl/RoleDepartmentUserServiceImpl.java +++ b/login-oauth2-client/src/main/java/ink/wgink/login/oauth2/client/service/role/impl/RoleDepartmentUserServiceImpl.java @@ -12,7 +12,6 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.List; @@ -36,7 +35,7 @@ public class RoleDepartmentUserServiceImpl extends DefaultBaseService implements private IDepartmentUserBaseService departmentUserBaseService; @Override - public List listUserByRoleIdAndAreaCode(String roleId, String areaCode) throws InvocationTargetException, NoSuchMethodException, IllegalAccessException { + public List listUserByRoleIdAndAreaCode(String roleId, String areaCode) { // 地区下所有组织机构 List departmentPOs = departmentBaseService.listPOByAreaCode(areaCode); if (departmentPOs.isEmpty()) { diff --git a/service-role/src/main/java/ink/wgink/service/role/controller/api/RoleDepartmentUserController.java b/service-role/src/main/java/ink/wgink/service/role/controller/api/RoleDepartmentUserController.java index c6511d63..2e4edbad 100644 --- a/service-role/src/main/java/ink/wgink/service/role/controller/api/RoleDepartmentUserController.java +++ b/service-role/src/main/java/ink/wgink/service/role/controller/api/RoleDepartmentUserController.java @@ -12,7 +12,6 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.lang.reflect.InvocationTargetException; import java.util.List; /** @@ -38,7 +37,7 @@ public class RoleDepartmentUserController extends DefaultBaseController { @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @GetMapping("list-user/{roleId}/{areaCode}") public List listUserByRoleIdAndAreaCode(@PathVariable("roleId") String roleId, - @PathVariable("areaCode") String areaCode) throws InvocationTargetException, NoSuchMethodException, IllegalAccessException { + @PathVariable("areaCode") String areaCode) { return roleDepartmentUserService.listUserByRoleIdAndAreaCode(roleId, areaCode); } diff --git a/service-role/src/main/java/ink/wgink/service/role/service/impl/RoleDepartmentUserServiceImpl.java b/service-role/src/main/java/ink/wgink/service/role/service/impl/RoleDepartmentUserServiceImpl.java index 11548237..aa13cf17 100644 --- a/service-role/src/main/java/ink/wgink/service/role/service/impl/RoleDepartmentUserServiceImpl.java +++ b/service-role/src/main/java/ink/wgink/service/role/service/impl/RoleDepartmentUserServiceImpl.java @@ -12,7 +12,6 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.List; @@ -34,7 +33,7 @@ public class RoleDepartmentUserServiceImpl extends DefaultBaseService implements private IDepartmentUserService departmentUserService; @Override - public List listUserByRoleIdAndAreaCode(String roleId, String areaCode) throws InvocationTargetException, NoSuchMethodException, IllegalAccessException { + public List listUserByRoleIdAndAreaCode(String roleId, String areaCode) { // 地区下所有组织机构 List departmentPOs = departmentService.listPOByAreaCode(areaCode); if (departmentPOs.isEmpty()) {