ny
昨天 b6f169fe43a2b13f351aefc152374fc7f0bc8cb7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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("无法获取唯一编码"));
    }
}