package com.smilonet.common.dao.mybatis.code.impl;
import java.util.Date;
import com.smilonet.common.dao.mybatis.code.CodeGenerator;
import com.smilonet.common.utils.DateTimeUtils;
import com.smilonet.common.utils.StringUtils;
public class TimestampCodeGenerator implements CodeGenerator {
private String prefix;
private String middlefixPattern = "yyyyMMdd";
private int postfixSize = -2;
@Override
public String generate(Long serial) {
StringBuffer code = new StringBuffer();
if (StringUtils.isNotEmpty(prefix)) {
code.append(prefix);
}
if (StringUtils.isNotEmpty(middlefixPattern)) {
try {
code.append(DateTimeUtils.convertDateToString(new Date(), middlefixPattern));
} catch (Exception e) {
code.append(DateTimeUtils.getDate("yyyyMMdd"));
}
}
code.append(StringUtils.formatStringLength(serial.toString(), '0', postfixSize));
return code.toString();
}
public String getPrefix() {
return prefix;
}
public void setPrefix(String prefix) {
this.prefix = prefix;
}
public String getMiddlefixPattern() {
return middlefixPattern;
}
public void setMiddlefixPattern(String middlefixPattern) {
this.middlefixPattern = middlefixPattern;
}
public int getPostfixSize() {
return postfixSize;
}
public void setPostfixSize(int postfixSize) {
this.postfixSize = postfixSize;
}
}