fix: 登录提示、日志&组织缓存&门户端应用列表

* fix: 登录提示、日志&组织缓存&门户端应用列表
* fix: 更新身份源配置&保存存储配置
pull/37/head
kay 2023-08-21 12:16:48 +00:00 committed by smallbun
parent ab528c08db
commit 7798acece0
5 changed files with 30 additions and 23 deletions

View File

@ -74,32 +74,31 @@ public class SendSmsOtpFilter extends OncePerRequestFilter {
if (StringUtils.isBlank(recipient)) { if (StringUtils.isBlank(recipient)) {
throw new PhoneNotExistException(); throw new PhoneNotExistException();
} }
boolean isSend = sendOtp(recipient); sendOtp(response, recipient);
//发送OTP
if (isSend) {
HttpResponseUtils.flushResponseJson(response, HttpStatus.OK.value(),
ApiRestResult.ok());
return;
}
HttpResponseUtils.flushResponseJson(response, HttpStatus.OK.value(),
ApiRestResult.err().message("请输入正确的手机号"));
} }
public RequestMatcher getRequestMatcher() { public RequestMatcher getRequestMatcher() {
return SMS_SEND_OPT_MATCHER; return SMS_SEND_OPT_MATCHER;
} }
public boolean sendOtp(String recipient) { public void sendOtp(HttpServletResponse response, String recipient) {
if (isPhoneValidate(recipient)) { if (isPhoneValidate(recipient)) {
//判断是否存在用户 //判断是否存在用户
UserEntity user = userRepository UserEntity user = userRepository
.findByPhone(PhoneNumberUtils.getPhoneNumber(recipient)); .findByPhone(PhoneNumberUtils.getPhoneNumber(recipient));
if (!Objects.isNull(user)) { if (Objects.nonNull(user)) {
otpContextHelp.sendOtp(recipient, SmsType.LOGIN.getCode(), SMS); 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; private final UserRepository userRepository;

View File

@ -278,4 +278,13 @@ public interface OrganizationRepository extends LogicDeleteRepository<Organizati
@Override @Override
@CacheEvict(allEntries = true) @CacheEvict(allEntries = true)
<S extends OrganizationEntity> S save(@NotNull S entity); <S extends OrganizationEntity> S save(@NotNull S entity);
/**
* delete all by id
*
* @param ids {@link Iterable}
*/
@CacheEvict(allEntries = true)
@Override
void deleteAllById(@NotNull Iterable<? extends String> ids);
} }

View File

@ -64,6 +64,7 @@ public class OrganizationRepositoryCustomizedImpl implements OrganizationReposit
* @param list {@link List} * @param list {@link List}
*/ */
@Override @Override
@CacheEvict(allEntries = true)
public void batchSave(List<OrganizationEntity> list) { public void batchSave(List<OrganizationEntity> list) {
jdbcTemplate.batchUpdate( 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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", "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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",

View File

@ -82,18 +82,12 @@ public class AppRepositoryCustomizedImpl implements AppRepositoryCustomized {
WHERE WHERE
app.is_enabled = 1 app.is_enabled = 1
AND app.is_deleted = '0' 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)) { if (StringUtils.isNoneBlank(name)) {
builder.append(" AND app.name_ like '%").append(name).append("%'"); 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 //@formatter:on
String sql = builder.toString(); String sql = builder.toString();
List<AppEntity> list = namedParameterJdbcTemplate.query( List<AppEntity> list = namedParameterJdbcTemplate.query(

View File

@ -293,11 +293,15 @@ public interface UserConverter {
.of(s -> s.field(FieldSort.of(f -> f.field(EVENT_TIME).order(sortOrder)))); .of(s -> s.field(FieldSort.of(f -> f.field(EVENT_TIME).order(sortOrder))));
fieldSortBuilders.add(eventTimeSortBuilder); 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();
} }
/** /**