diff --git a/eiam-authentication/eiam-authentication-sms/src/main/java/cn/topiam/employee/authentication/otp/sms/SendSmsOtpFilter.java b/eiam-authentication/eiam-authentication-sms/src/main/java/cn/topiam/employee/authentication/otp/sms/SendSmsOtpFilter.java index 70487c06..83a4fc12 100644 --- a/eiam-authentication/eiam-authentication-sms/src/main/java/cn/topiam/employee/authentication/otp/sms/SendSmsOtpFilter.java +++ b/eiam-authentication/eiam-authentication-sms/src/main/java/cn/topiam/employee/authentication/otp/sms/SendSmsOtpFilter.java @@ -74,32 +74,31 @@ public class SendSmsOtpFilter extends OncePerRequestFilter { if (StringUtils.isBlank(recipient)) { throw new PhoneNotExistException(); } - boolean isSend = sendOtp(recipient); - //发送OTP - if (isSend) { - HttpResponseUtils.flushResponseJson(response, HttpStatus.OK.value(), - ApiRestResult.ok()); - return; - } - HttpResponseUtils.flushResponseJson(response, HttpStatus.OK.value(), - ApiRestResult.err().message("请输入正确的手机号")); + sendOtp(response, recipient); } public RequestMatcher getRequestMatcher() { return SMS_SEND_OPT_MATCHER; } - public boolean sendOtp(String recipient) { + public void sendOtp(HttpServletResponse response, String recipient) { if (isPhoneValidate(recipient)) { //判断是否存在用户 UserEntity user = userRepository .findByPhone(PhoneNumberUtils.getPhoneNumber(recipient)); - if (!Objects.isNull(user)) { + if (Objects.nonNull(user)) { otpContextHelp.sendOtp(recipient, SmsType.LOGIN.getCode(), SMS); - return true; + HttpResponseUtils.flushResponseJson(response, HttpStatus.OK.value(), + ApiRestResult.ok()); + } else { + logger.warn("发送验证码登录失败, 手机号不存在: [{" + recipient + "}]"); + HttpResponseUtils.flushResponseJson(response, HttpStatus.OK.value(), + ApiRestResult.ok()); } + } else { + HttpResponseUtils.flushResponseJson(response, HttpStatus.OK.value(), + ApiRestResult.err().message("请输入正确的手机号")); } - return false; } private final UserRepository userRepository; diff --git a/eiam-common/src/main/java/cn/topiam/employee/common/repository/account/OrganizationRepository.java b/eiam-common/src/main/java/cn/topiam/employee/common/repository/account/OrganizationRepository.java index dfc45bfb..3c0a1c8a 100644 --- a/eiam-common/src/main/java/cn/topiam/employee/common/repository/account/OrganizationRepository.java +++ b/eiam-common/src/main/java/cn/topiam/employee/common/repository/account/OrganizationRepository.java @@ -278,4 +278,13 @@ public interface OrganizationRepository extends LogicDeleteRepository S save(@NotNull S entity); + + /** + * delete all by id + * + * @param ids {@link Iterable} + */ + @CacheEvict(allEntries = true) + @Override + void deleteAllById(@NotNull Iterable ids); } diff --git a/eiam-common/src/main/java/cn/topiam/employee/common/repository/account/impl/OrganizationRepositoryCustomizedImpl.java b/eiam-common/src/main/java/cn/topiam/employee/common/repository/account/impl/OrganizationRepositoryCustomizedImpl.java index ea153fa5..43a801ca 100644 --- a/eiam-common/src/main/java/cn/topiam/employee/common/repository/account/impl/OrganizationRepositoryCustomizedImpl.java +++ b/eiam-common/src/main/java/cn/topiam/employee/common/repository/account/impl/OrganizationRepositoryCustomizedImpl.java @@ -64,6 +64,7 @@ public class OrganizationRepositoryCustomizedImpl implements OrganizationReposit * @param list {@link List} */ @Override + @CacheEvict(allEntries = true) public void batchSave(List list) { jdbcTemplate.batchUpdate( "INSERT INTO organization (id_, code_, name_, parent_id, is_leaf, external_id, data_origin, type_, is_enabled, order_, path_, display_path, identity_source_id,create_by,create_time,update_by,update_time,remark_,is_deleted) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", diff --git a/eiam-common/src/main/java/cn/topiam/employee/common/repository/app/impl/AppRepositoryCustomizedImpl.java b/eiam-common/src/main/java/cn/topiam/employee/common/repository/app/impl/AppRepositoryCustomizedImpl.java index 765f650e..9b670b3d 100644 --- a/eiam-common/src/main/java/cn/topiam/employee/common/repository/app/impl/AppRepositoryCustomizedImpl.java +++ b/eiam-common/src/main/java/cn/topiam/employee/common/repository/app/impl/AppRepositoryCustomizedImpl.java @@ -82,18 +82,12 @@ public class AppRepositoryCustomizedImpl implements AppRepositoryCustomized { WHERE app.is_enabled = 1 AND app.is_deleted = '0' - AND app_acce.subject_id IN (:subjectIds) + AND (app_acce.subject_id IN (:subjectIds) OR app.authorization_type = 'all_access') """); //用户名 if (StringUtils.isNoneBlank(name)) { builder.append(" AND app.name_ like '%").append(name).append("%'"); } - //或者是全员可访问的应用 - builder.append(" OR app.authorization_type = '").append("all_access'"); - //用户名 - if (StringUtils.isNoneBlank(name)) { - builder.append(" AND app.name_ like '%").append(name).append("%'"); - } //@formatter:on String sql = builder.toString(); List list = namedParameterJdbcTemplate.query( diff --git a/eiam-console/src/main/java/cn/topiam/employee/console/converter/account/UserConverter.java b/eiam-console/src/main/java/cn/topiam/employee/console/converter/account/UserConverter.java index 9fb8584d..70e14284 100644 --- a/eiam-console/src/main/java/cn/topiam/employee/console/converter/account/UserConverter.java +++ b/eiam-console/src/main/java/cn/topiam/employee/console/converter/account/UserConverter.java @@ -293,11 +293,15 @@ public interface UserConverter { .of(s -> s.field(FieldSort.of(f -> f.field(EVENT_TIME).order(sortOrder)))); fieldSortBuilders.add(eventTimeSortBuilder); }); - return new NativeQueryBuilder().withQuery(queryBuilder.build()._toQuery()) + NativeQueryBuilder nativeQueryBuilder = new NativeQueryBuilder() + .withQuery(queryBuilder.build()._toQuery()) //分页参数 - .withPageable(PageRequest.of(page.getCurrent(), page.getPageSize())) + .withPageable(PageRequest.of(page.getCurrent(), page.getPageSize())); + if (!CollectionUtils.isEmpty(fieldSortBuilders)) { //排序 - .withSort(fieldSortBuilders).build(); + nativeQueryBuilder.withSort(fieldSortBuilders); + } + return nativeQueryBuilder.build(); } /**