diff --git a/hsweb-core/src/main/java/org/hswebframework/web/id/IDGenerator.java b/hsweb-core/src/main/java/org/hswebframework/web/id/IDGenerator.java index 5215fef8d..90eef6aca 100644 --- a/hsweb-core/src/main/java/org/hswebframework/web/id/IDGenerator.java +++ b/hsweb-core/src/main/java/org/hswebframework/web/id/IDGenerator.java @@ -34,6 +34,16 @@ import java.security.NoSuchAlgorithmException; public interface IDGenerator { T generate(); + /** + * 空ID生成器 + */ + IDGenerator NULL = () -> null; + + @SuppressWarnings("unchecked") + static IDGenerator getNullGenerator() { + return (IDGenerator) NULL; + } + /** * 使用UUID生成id */ @@ -60,7 +70,7 @@ public interface IDGenerator { /** * 雪花算法 */ - IDGenerator SNOW_FLAKE = SnowflakeIdGenerator.getInstance()::nextId; + IDGenerator SNOW_FLAKE = SnowflakeIdGenerator.getInstance()::nextId; /** * 雪花算法转String diff --git a/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-local/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleUserService.java b/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-local/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleUserService.java index 831e798dd..db8582aa1 100644 --- a/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-local/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleUserService.java +++ b/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-local/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleUserService.java @@ -16,6 +16,7 @@ import org.hswebframework.web.service.AbstractService; import org.hswebframework.web.service.DefaultDSLQueryService; import org.hswebframework.web.service.authorization.events.ClearUserAuthorizationCacheEvent; import org.hswebframework.web.service.authorization.events.UserModifiedEvent; +import org.hswebframework.web.service.authorization.simple.terms.UserInRoleSqlTerm; import org.hswebframework.web.validate.ValidationException; import org.hswebframework.utils.ListUtils; import org.hswebframework.web.validator.group.CreateGroup; @@ -76,6 +77,10 @@ public class SimpleUserService extends AbstractService return entityFactory.newInstance(BindRoleUserEntity.class); } + protected IDGenerator getIdGenerator() { + return IDGenerator.MD5; + } + @Override @Transactional(readOnly = true) public UserEntity selectByUsername(String username) { @@ -135,7 +140,7 @@ public class SimpleUserService extends AbstractService //密码强度验证 tryValidateProperty(passwordStrengthValidator, UserEntity.password, userEntity.getPassword()); userEntity.setCreateTime(System.currentTimeMillis()); - userEntity.setId(IDGenerator.MD5.generate()); + userEntity.setId(getIdGenerator().generate()); userEntity.setSalt(IDGenerator.RANDOM.generate()); userEntity.setStatus(DataStatus.STATUS_ENABLED); //验证其他属性 @@ -168,9 +173,6 @@ public class SimpleUserService extends AbstractService @Override @Caching(evict = { @CacheEvict(value = CacheConstants.USER_CACHE_NAME, key = "#userId") -// , @CacheEvict(value = CacheConstants.USER_AUTH_CACHE_NAME, key = "#userId"), -// @CacheEvict(value = CacheConstants.USER_AUTH_CACHE_NAME, key = "'user-menu-list:'+#userId"), -// @CacheEvict(value = CacheConstants.USER_AUTH_CACHE_NAME, key = "'menu-tree:'+#userId") }) public void update(String userId, UserEntity userEntity) { userEntity.setId(userId); @@ -298,6 +300,7 @@ public class SimpleUserService extends AbstractService if (CollectionUtils.isEmpty(roleIdList)) { return new java.util.ArrayList<>(); } + // org.hswebframework.web.service.authorization.simple.terms.UserInRoleSqlTerm return createQuery() .where("id", "user-in-role", roleIdList) .listNoPaging();