fix comment

This commit is contained in:
Looly 2022-02-23 13:28:53 +08:00
parent 701ac88742
commit 541c61c304
2 changed files with 19 additions and 4 deletions

View File

@ -7,7 +7,8 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.regex.Pattern;
/**
* 统一社会信用代码工具类
* 统一社会信用代码GB32100-2015工具类<br>
* 标准见https://www.cods.org.cn/c/2020-10-29/12575.html
*
* <pre>
* 第一部分登记管理部门代码1位 (数字或大写英文字母)
@ -24,7 +25,13 @@ public class CreditCodeUtil {
public static final Pattern CREDIT_CODE_PATTERN = PatternPool.CREDIT_CODE;
/**
* 加权因子
*/
private static final int[] WEIGHT = {1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28};
/**
* 代码字符集
*/
private static final char[] BASE_CODE_ARRAY = "0123456789ABCDEFGHJKLMNPQRTUWXY".toCharArray();
private static final Map<Character, Integer> CODE_INDEX_MAP;
@ -110,10 +117,10 @@ public class CreditCodeUtil {
}
/**
* 获取校验
* 获取校验位的值
*
* @param creditCode 统一社会信息代码
* @return 获取较验位的值
* @return 获取校验位的值-1表示获取错误
*/
private static int getParityBit(CharSequence creditCode) {
int sum = 0;

View File

@ -17,6 +17,14 @@ public class CreditCodeUtilTest {
Assert.assertTrue(CreditCodeUtil.isCreditCode(testCreditCode));
}
@Test
public void isCreditCode2() {
// 由于早期部分试点地区推行 法人和其他组织统一社会信用代码 较早会存在部分代码不符合国家标准的情况
// https://github.com/bluesky335/IDCheck
String testCreditCode = "91350211M00013FA1N";
Assert.assertFalse(CreditCodeUtil.isCreditCode(testCreditCode));
}
@Test
public void randomCreditCode() {
final String s = CreditCodeUtil.randomCreditCode();