package jnpf.permission.util;
|
|
import jnpf.permission.CodeNumApi;
|
import jnpf.util.context.SpringContext;
|
import lombok.Synchronized;
|
|
import java.util.function.Predicate;
|
import java.util.stream.Stream;
|
|
/**
|
* 获取唯一编码工具
|
*
|
* @author JNPF开发平台组
|
* @version v6.0.0
|
* @copyright 引迈信息技术有限公司
|
* @date 2025/6/25 14:45:17
|
*/
|
public class CodeNumUtil {
|
private static CodeNumApi codeNumApi = SpringContext.getBean(CodeNumApi.class);
|
|
@Synchronized
|
public static String getCodeFunction(String codeType, Predicate<String> existCode) {
|
return Stream.generate(() -> codeNumApi.getCodeOnce(codeType))
|
.filter(code -> !existCode.test(code))
|
.findFirst()
|
.orElseThrow(() -> new RuntimeException("无法获取唯一编码"));
|
}
|
}
|