package com.sy.coinage.core.util;

/**
 * @author liuhong
 * @date 2023/11/8 11:06
 */
public class CommonUtil {

    /**
     * 将数值型字段，左侧填充0
     *
     * @param number
     * @param bit
     * @return String 格式化字符串
     */
    public static String paddingNumber(int number, int bit) {

        String format = "%0" + bit + "d";
        return String.format(format, number);
    }

    /**
     * 根据段号，序列号 返回固定结构的字符串
     *
     * @param code : 段号
     * @param seq  :序列号
     * @return String
     */
    public static String formatCrown(int code, int seq) {
        StringBuffer sb = new StringBuffer();
        sb.append(paddingNumber(code, 3));
        sb.append("-");
        sb.append(paddingNumber(seq, 4));
        return sb.toString();
    }

    /**
     * 返回冠字号完整字符串
     *
     * @param prefix : 冠字号前缀
     * @param crown  : 冠字号编号
     * @return String : eg :佰21伍-003-0060
     */
    public static String buildCrownBetween(String prefix, String crown) {
        StringBuffer sb = new StringBuffer();
        sb.append(prefix);
        sb.append("-");
        sb.append(crown);
        return sb.toString();
    }
}
