feat: 新增编码规则和流水号段DO

This commit is contained in:
zhouz
2026-07-15 16:55:07 +08:00
parent d0ac7a730b
commit 89fedc91f2
2 changed files with 121 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
package cn.code.nl.module.base.dal.dataobject.codegen;
import cn.code.nl.framework.mybatis.core.dataobject.BaseDO;
import cn.code.nl.module.base.service.codegen.dto.SegmentConfig;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* 编码规则定义 DO
*
* @author zhouz
*/
@TableName(value = "base_code_rule", autoResultMap = true)
@Data
@EqualsAndHashCode(callSuper = true)
public class CodeRuleDO extends BaseDO {
/**
* 主键
*/
@TableId
private Long id;
/**
* 规则名称
*/
private String ruleName;
/**
* 规则编码(唯一标识)
*/
private String ruleCode;
/**
* 分段配置JSON数组
*/
@TableField(typeHandler = JacksonTypeHandler.class)
private List<SegmentConfig> segmentConfig;
/**
* 分隔符
*/
private String separator;
/**
* 字母大小写0=原样 1=全大写 2=全小写
*/
private Integer letterCase;
/**
* 固定总长度约束0=不限制)
*/
private Integer totalLength;
/**
* 序号策略segment=号段预分配 lock=分布式锁实时
*/
private String seqStrategy;
/**
* 状态0=启用 1=禁用
*/
private Integer status;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,45 @@
package cn.code.nl.module.base.dal.dataobject.codegen;
import cn.code.nl.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 编码流水号段记录 DO
*
* @author zhouz
*/
@TableName("base_code_sequence")
@Data
@EqualsAndHashCode(callSuper = true)
public class CodeSequenceDO extends BaseDO {
/**
* 主键
*/
@TableId
private Long id;
/**
* 规则ID关联 base_code_rule.id
*/
private Long ruleId;
/**
* 重置维度键如按天20260715全局GLOBAL
*/
private String resetKey;
/**
* 当前已分配的最大序号
*/
private Long currentValue;
/**
* 序号最大值上限
*/
private Long maxValue;
}