package com.smilonet.common.dao.mybatis.code.impl; import com.smilonet.common.dao.mybatis.code.CodeGenerator; import com.smilonet.common.utils.StringUtils; public class InheritedCodeGenerator implements CodeGenerator { /** * 每个级次流水号长度 */ private int unitSize = -2; /** * 父记录编码 */ private String parentCode; @Override public String generate(Long serial) { if (serial == null) { serial = 1L; } if (StringUtils.isNotEmpty(parentCode)) { return parentCode + StringUtils.formatStringLength(serial.toString(), '0', unitSize); } else { return StringUtils.formatStringLength(serial.toString(), '0', unitSize); } } public int getUnitSize() { return unitSize; } public void setUnitSize(int unitSize) { this.unitSize = unitSize; } public String getParentCode() { return parentCode; } public void setParentCode(String parentCode) { this.parentCode = parentCode; } }