03-通用工具库 common-tool¶
📄 创建: ZCode AI 2026-08-14 · 修改: JimWb 2026-08-14
common-tool是整个 SDK 的底座模块,包含 104 个工具类、约 10,674 行代码。所有其他模块都直接或间接依赖它。包路径前缀:cn.cnbm.bams.common。
本文档按功能分类列出全部工具类,每类包含:类名+包路径、功能描述、关键方法签名、代码示例。
目录¶
- 日期时间
- JSON 处理(三套并存)
- 字符串与文本
- Bean 与反射
- 加密与签名
- HTTP 与远程调用
- 集合与树形结构
- Excel 导入导出
- ID 生成
- 统一响应
- 异常体系(双轨制)
- 单位换算与计算
- JSON 序列化配置
- 其他工具
- 注解清单
- 常量与枚举
日期时间¶
DateUtils¶
cn.cnbm.bams.common.utils.DateUtils
继承 org.apache.commons.lang3.time.DateUtils,融合 hutool DateUtil 与 JDK8 时间 API。提供日期格式化、解析、区间列表生成、同比环比计算。
| 方法签名 | 功能 |
|---|---|
static Date getNowDate() |
当前 Date |
static String getDate() |
当前日期 yyyy-MM-dd |
static String dateTimeNow() |
当前日期时间 yyyy-MM-dd HH:mm:ss |
static Date parseDateToStr(String format, Date date) |
Date→String |
static Date dateTime(String format, String ts) |
String→Date,失败抛 BussinessException |
static Date parseDate(Object str) |
自动识别 14 种格式解析 |
static String getDatePoor(Date endDate, Date nowDate) |
时间差,返回 "x天x小时x分钟" |
static String dealDateFormatWithT(String oldDateStr) |
处理 ISO 带 T 的日期 |
static Date stringToDateFormat(String time) |
智能识别字符串格式解析(按长度/分隔符) |
static int compare(String date1, String date2) |
日期字符串比较(-1/0/1) |
static String secondToTime(long times, int scale, String targetUnit) |
秒数→天/时/分(BigDecimal 精度) |
static List<String> getDateRangeList(String timeDimension, String start, String end, Boolean reversed, Boolean untilNow) |
按时间维度生成连续日期序列 |
static List<String> getDateListBetweenSpecifiedDate(...) |
多重载,区间生成小时/天/月/年列表 |
// 生成 2026-01 到 2026-06 的月份列表
List<String> months = DateUtils.getDateRangeList(
Constants.TimeDimension.MONTH, "2026-01", "2026-06", false, false);
// → ["2026-01", "2026-02", "2026-03", "2026-04", "2026-05", "2026-06"]
JSON 处理(三套并存)¶
⚠️ SDK 中存在三套 JSON 工具,详见 12-FAQ与注意事项。新代码建议统一用
JsonUtils(Jackson)。
JsonUtils(推荐)¶
cn.cnbm.bams.common.utils.json.JsonUtils
基于 Jackson ObjectMapper。静态初始化:忽略空 bean 报错、忽略未知属性、NON_NULL 序列化、注册 JavaTimeModule。
| 方法签名 | 功能 |
|---|---|
static void init(ObjectMapper objectMapper) |
注入 Spring 管理的 ObjectMapper |
static String toJsonString(Object) |
序列化为 JSON 字符串 |
static String toJsonPrettyString(Object) |
序列化为格式化 JSON |
static <T> T parseObject(String text, Class<T>) |
反序列化对象 |
static <T> T parseObject(String text, Type type) |
泛型反序列化 |
static <T> T parseObject(String text, TypeReference<T>) |
TypeReference 反序列化 |
static <T> T parseObject(String text, String path, Class<T>) |
按 JSON Path 取子节点反序列化 |
static <T> T parseObjectQuietly(String text, TypeReference<T>) |
安静反序列化(失败返回 null) |
static <T> List<T> parseArray(String text, Class<T>) |
反序列化 List |
static <T> List<T> parseArray(String text, String path, Class<T>) |
按 path 取数组反序列化 |
static JsonNode parseTree(String) |
解析为树 |
static boolean isJson(String) |
判断是否 JSON |
// 基本用法
String json = JsonUtils.toJsonString(myObject);
MyObject obj = JsonUtils.parseObject(json, MyObject.class);
List<MyObject> list = JsonUtils.parseArray(jsonArray, MyObject.class);
// JSON Path 取值
String name = JsonUtils.parseObject(json, "$.data.name", String.class);
// 泛型
List<User> users = JsonUtils.parseObject(json, new TypeReference<List<User>>(){});
GsonUtils¶
cn.cnbm.bams.common.utils.GsonUtils
基于 Google Gson。支持 LocalDateTime/LocalDate 序列化、JSON key 排序、泛型 List 解析。
| 方法签名 | 功能 |
|---|---|
static <T> T fromJsonObject(String json, Class<T> clazz) |
JSON→对象(含时间反序列化) |
static <T> List<T> fromJsonArray(String json, Class<T> clazz) |
推荐:JSON 数组→List |
static String fromObjectToJson(Object param) |
对象→JSON |
static JsonObject sortJson(String json) |
按 key 字母序排序 JSON |
static <T> T jsonToObject(String message, Class<T> clazz) |
JSON→对象 |
字符串与文本¶
StringUtils¶
cn.cnbm.bams.common.utils.StringUtils
继承 org.apache.commons.lang3.StringUtils,RuoYi 风格。
| 方法签名 | 功能 |
|---|---|
static <T> T nvl(T value, T defaultValue) |
空值替换 |
static boolean isEmpty(Collection/Map/Object[]/String) |
多类型空判断 |
static String format(String template, Object... params) |
{}占位符格式化 |
static String toUnderScoreCase(String) |
驼峰→下划线 |
static String convertToCamelCase(String name) |
下划线→大驼峰 |
static String toCamelCase(String s) |
下划线→小驼峰 |
static String padPre(String str, int minLength, char padChar) |
前补字符 |
static String addZeroForNum(String str, int strLength) |
左补零 |
static Map<String,Object> bean2Map(Object obj) |
Bean→LinkedHashMap |
static String getStackTrace(Exception e) |
异常栈转字符串 |
Convert¶
cn.cnbm.bams.common.utils.text.Convert
⚠️ 注意同名冲突:与
cn.hutool.core.convert.Convert同名,import 时需用全限定名。
类型转换器,RuoYi 风格,Object→各基本类型的容错转换。
| 方法签名 | 功能 |
|---|---|
static String toStr(Object value) / toStr(Object, String defaultValue) |
转字符串 |
static Integer toInt(Object value) / toInt(Object, Integer) |
转 int |
static Long toLong(Object value) |
转 long(支持科学计数法) |
static Double toDouble(Object value) |
转 double |
static Boolean toBool(Object value) |
转 bool(支持 true/false/yes/no/ok/1/0) |
static <E extends Enum<E>> E toEnum(Class<E>, Object) |
转枚举 |
static BigDecimal toBigDecimal(Object) |
转 BigDecimal |
static String toSBC(String input) |
半角→全角 |
static String toDBC(String input) |
全角→半角 |
static String digitUppercase(double n) |
数字金额转中文大写(壹贰叁...) |
static String imageToBase64ByLocal(File file) |
图片转 Base64 |
StrFormatter¶
cn.cnbm.bams.common.utils.text.StrFormatter
{} 占位符格式化器,支持 \ 转义。被 StringUtils.format 调用。
PackAndCompressionUtils¶
cn.cnbm.bams.common.utils.text.PackAndCompressionUtils
文件打包/压缩/解压,支持 tar、tar.gz、zip。私有构造器不可实例化。
| 方法签名 | 功能 |
|---|---|
static boolean tarPack(String[] files, String targetDir) |
打包为 tar |
static boolean tarUnpack(String file, String targetDir) |
解 tar |
static boolean gzipCompress(String[] files, String targetDir) |
gzip 压缩 |
static boolean zipCompress(String[] files, String targetDir) |
zip 打包 |
static boolean zipDecompress(String file, String targetDir) |
解 zip |
CharsetKit¶
cn.cnbm.bams.common.utils.text.CharsetKit
字符集工具,定义 ISO-8859-1/UTF-8/GBK 常量。
| 方法签名 | 功能 |
|---|---|
static String convert(String source, String srcCharset, String destCharset) |
转换字符串编码 |
static String systemCharset() |
系统默认字符集 |
Bean 与反射¶
BeanUtils¶
cn.cnbm.bams.common.utils.BeanUtils
Bean/Map 反射转换工具,含时间序列数据补齐(图表数据填充)能力。
| 方法签名 | 功能 |
|---|---|
static Field findField(Class<?> clazz, String name) |
递归查找字段(含父类) |
static Object getProperty(Object obj, String name) |
反射取字段值 |
static Map<String,Object> obj2Map(Object obj, Map map) |
对象转 Map(含父类字段) |
static <T> T convertMap2Bean(Map map, Class<T>) |
Map 转 Bean |
static <T> List<T> convertListMap2ListBean(List<Map>, Class<T>) |
List<Map> 批量转 List<Bean> |
static List<Map<String,Object>> fillDataIfNeed(boolean needFill, String interval, String start, String end, List<Map> result, List<String> varNames, String fillVal, String fillField, boolean fillStartEnd) |
核心:按时间间隔补齐缺失时间点数据 |
// 图表数据补齐:把缺失的日期点补 0
List<Map<String,Object>> result = ...; // 数据库查出的数据
result = BeanUtils.fillDataIfNeed(
true, "1d", "2026-01-01", "2026-01-31",
result, Arrays.asList("ydata"), "0", "xdata", true);
TypeUtil¶
cn.cnbm.bams.common.utils.TypeUtil
对象类型强转工具,纯反射无第三方依赖。
| 方法签名 | 功能 |
|---|---|
static int parseI(Object obj) / parseI(Object, Integer defaultVal) |
转 int |
static long parseL(Object obj) |
转 long |
static double parseD(Object obj) |
转 double |
static boolean parseB(Object obj) |
转 boolean |
static Object parseObject(Object obj, String type) |
按类型码转换(I/L/D/F/B/S) |
static boolean doubleIsZero(double d) |
判断 double 是否近似 0(1e-6 阈值) |
ikidou 泛型反射工具¶
cn.cnbm.bams.common.ikidou.reflect.*
来源 ikidou(Apache 2.0),用于运行时构造泛型 Type,配合 Gson 解析泛型集合。
| 类 | 功能 |
|---|---|
TypeBuilder |
链式构建 ParameterizedType。TypeBuilder.newInstance(List.class).addTypeParam(Foo.class).build() |
TypeToken<T> |
泛型 Type 捕获(匿名子类方式) |
ParameterizedTypeImpl |
ParameterizedType 实现 |
WildcardTypeImpl |
WildcardType 实现(? extends / ? super) |
加密与签名¶
⚠️ 安全提醒:
JwtUtil和RSAUtils的密钥硬编码在源码常量中,生产环境务必替换。详见 12-FAQ与注意事项。
Md5Utils¶
cn.cnbm.bams.common.utils.Md5Utils
极简 MD5 加密,纯 JDK 无第三方依赖。
| 方法签名 | 功能 |
|---|---|
static String md5(String src) |
MD5(UTF-8),返回 32 位十六进制小写 |
static String md5(String src, String charset) |
指定字符集 |
RSAUtils¶
cn.cnbm.bams.common.utils.RSAUtils
基于 hutool RSA 的加解密,密钥硬编码在 Constants.RSA。
| 方法签名 | 功能 |
|---|---|
static String encryptRsaBase64(String password) |
公钥加密→Base64 |
static String decryptRsaBase64(String password) |
私钥解密 |
static String encryptRsaByPrivateKey(String password) |
私钥加密(签名场景) |
static String decryptRsaByPrivateKey(String password) |
公钥解密(验签场景) |
登录密码加解密使用此类:前端公钥加密 → 后端私钥解密。
JSEncryptUtils¶
cn.cnbm.bams.common.utils.JSEncryptUtils
前端 JSEncrypt 库的 Java 端等价实现,RSA/ECB/PKCS1Padding,用于前后端 RSA 加密互通。
| 方法签名 | 功能 |
|---|---|
static String encrypt(String text, String publicKeyStr) |
公钥加密(>117 字节返回原文) |
static String decrypt(String encryptedStr, String privateKeyStr) |
私钥解密 |
static PublicKey getPublicKey(String keyStr) |
Base64→X509 公钥 |
static PrivateKey getPrivateKey(String keyStr) |
Base64→PKCS8 私钥 |
JwtUtil¶
cn.cnbm.bams.common.utils.JwtUtil
基于 hutool-jwt 的 JWT 工具。密钥硬编码。
| 方法签名 | 功能 |
|---|---|
static String createToken(String appKey, String appId) |
生成 token(nbf=当前, exp=次日) |
static String getClaim(String token, String claim) |
无需解密取 payload claim |
static JSONObject getClaimJSON(String token) |
取全部 payload |
static boolean verify(String token) |
校验 token(日期+算法+签名) |
HTTP 与远程调用¶
HttpClientUtil¶
cn.cnbm.bams.common.utils.HttpClientUtil
基于 Apache HttpClient,支持 http/https(HTTPS 信任所有证书)。
| 方法签名 | 功能 |
|---|---|
static String get(String url, HttpClientConfig config) |
GET |
static String post(String url, String json, HttpClientConfig config) |
POST JSON |
static String post(String url, Map<String,String> body, HttpClientConfig config) |
POST 表单 |
static String put/patch/delete(...) |
PUT/PATCH/DELETE |
static byte[] downloadBytes(String url) |
下载字节 |
static boolean isURLReachable(String url, Map<String,String> head) |
探测 URL 可达性 |
HttpClientConfig¶
cn.cnbm.bams.common.http.HttpClientConfig
HTTP 请求配置 POJO。默认:charset=UTF-8, connectTimeout=5000ms, socketTimeout=60000ms。
HttpClientConfig config = new HttpClientConfig();
config.addHeader("Authorization", "Bearer xxx");
String result = HttpClientUtil.post("https://api.example.com/data", jsonBody, config);
HttpRequestUtil¶
cn.cnbm.bams.common.http.HttpRequestUtil
基于 ApiDefinition 模型的高级 HTTP 请求执行器,支持 Basic Auth、GET/POST(JSON/XML/Raw/Form)。
| 方法签名 | 功能 |
|---|---|
static String execHttpRequest(ApiDefinition apiDefinition) |
根据 ApiDefinition 分发执行 |
RemoteShellExecutor¶
cn.cnbm.bams.common.utils.RemoteShellExecutor
基于 ganymed-ssh2 的远程 Shell 执行器,SSH 密码登录执行命令。超时 60 秒。
RemoteShellExecutor exec = new RemoteShellExecutor("192.168.1.1", "root", "password");
String result = exec.exec("ls -la /data");
集合与树形结构¶
ListUtils¶
cn.cnbm.bams.common.utils.ListUtils
针对 List<Map<String,Object>>(报表数据典型结构)的聚合统计工具。
| 方法签名 | 功能 |
|---|---|
static Double sum(List<Map>, String key) |
按 key 求和 |
static Double sum(List<Map>, String filterCol, String filterVal, String key) |
过滤后求和 |
static Double reduce(List<Map>, String key, String operator) |
通用归约:+/-/×/÷(parallelStream) |
static Map<String,Object> max/min(List<Map>, String key) |
取最大/最小值所在 Map |
static Double avg(List<Map>, String key) |
平均值 |
static List<List<String>> cartesian(Collection<List<String>>) |
递归求笛卡尔积 |
TreeTool(树形组装)¶
cn.cnbm.bams.common.utils.tree.TreeTool
将扁平 List 组装为树形结构的静态工具。
| 方法签名 | 功能 |
|---|---|
static <T> List<T> getTree(List<T> dataList) |
扁平 List→树(T 需实现 ITreeAble) |
static <T> Map<Object,T> getTreeMap(List<T> dataList) |
返回 id→节点 Map |
// 实体实现 ITreeAble
public class MyMenu implements ITreeAble<MyMenu> {
public Object getTreeId() { return id; }
public Object getParentCode() { return parentId; }
public void addChild(MyMenu child) { this.children.add(child); }
}
// 组装树
List<MyMenu> tree = TreeTool.getTree(flatList);
| 相关类 | 说明 |
|---|---|
ITreeAble<T> |
树形接口:getTreeId() / getParentCode() / addChild(T) |
TreeBean |
ITreeAble 通用实现(含 treeId/parentCode/childs/data) |
MapTreeNode |
基于 Map 的树节点(约定字段名 id / parent_id) |
DeepLevelFilter |
层级过滤函数式接口 |
Excel 导入导出¶
common-tool 提供基础 Excel 注解和工厂。完整的导入导出功能在 common-func 的
ExcelHelper,详见 09-通用功能。
@ExRow / @ExCell 注解¶
| 注解 | 位置 | 属性 | 说明 |
|---|---|---|---|
@ExRow |
类 | type() 类型标识, sheet() sheet 索引 |
标记 Excel 行映射类型 |
@ExCell |
字段 | idx() 列索引 |
标记 Excel 列映射 |
AbstractExFactory¶
cn.cnbm.bams.common.utils.excel.AbstractExFactory
扫描 cn.cnbm.bams.pojo 包下带 @ExRow 注解的类,建立映射。
ID 生成¶
IDUtil(雪花算法入口)¶
cn.cnbm.bams.common.id.IDUtil
雪花算法 ID 生成器,单例模式。workerId/dataCenterId 自动从机器 MAC 哈希和进程 PID 推导。
long id = IDUtil.getId(); // 获取下一个雪花 ID
String padded = IDUtil.genPad(6, 42); // → "000042"(补零到 6 位)
BaseEntity 的 id 字段在插入时自动调用
IDUtil.getId()生成,无需手动赋值。
SnowflakeIdWorker¶
cn.cnbm.bams.common.id.SnowflakeIdWorker
Twitter Snowflake 实现。64 位 = 1 符号位 + 41 时间戳(69 年)+ 5 数据中心 + 5 机器 + 12 序列(每毫秒 4096)。nextId() 线程安全(synchronized),时钟回退抛 BussinessException。起始时间 twepoch = 2015-01-01。
统一响应¶
JsonResult¶
cn.cnbm.bams.common.response.JsonResult<T>
泛型统一响应体,implements Serializable。字段:code / msg / resultExplain / failArgs / data / errorMsg。
| 静态工厂方法 | 说明 |
|---|---|
JsonResult.success() / success(T data) / success(T data, String explain) |
成功 |
JsonResult.successMessage(String msg) |
成功(带消息) |
JsonResult.fail() / fail(String code, String msg) / fail(code, msg, errorMsg) |
失败 |
JsonResult.failMessage(String msg) |
失败(带消息) |
JsonResult.caveat(String message) |
警告(CAVEAT 码) |
JsonResult.error() / error(Object code, String msg) |
错误 |
return JsonResult.success(dataList);
return JsonResult.fail("500", "查询失败");
return JsonResult.success(page, "查询成功");
ResponseCode¶
cn.cnbm.bams.common.enums.ResponseCode
响应码枚举。
| 枚举值 | code | 说明 |
|---|---|---|
| SUCCESS | "200" | 成功 |
| FAIL | "500" | 失败 |
| ERROR | "202" | 参数错误 |
| CAVEAT | "205" | 警告 |
| NOT_LOGIN | "401" | 未登录 |
| TOKEN_EXPIRED | "700" | Token 过期 |
ApiResponse¶
cn.cnbm.bams.common.response.ApiResponse
业务响应码枚举(实现 BaseEnum),定义了物料/配方/班次/生产计划/出入库等领域码。getResponseByCode(code) 按 code 查枚举。
异常体系(双轨制)¶
⚠️ SDK 存在两个拼写相似的异常类,详见 12-FAQ与注意事项。
BussinessException(非受检,工具类常用)¶
cn.cnbm.bams.common.exception.BussinessException
注意拼写(Bussiness 多了一个 s)。继承 RuntimeException,携带 code 字段。
| 构造方法 | 说明 |
|---|---|
BussinessException(String message) |
|
BussinessException(String message, String code) |
带 code |
BussinessException(String, Throwable) |
|
BussinessException(Throwable) |
项目中工具类(DateUtils/BeanUtils/SnowflakeIdWorker 等)抛的是这个。
BussException(受检)¶
cn.cnbm.bams.common.exception.BussException
继承 BaseException extends Exception(受检异常),携带 ApiResponse。
| 构造方法 | 说明 |
|---|---|
BussException(String) |
|
BussException(String template, Object... params) |
hutool StrUtil.format 格式化 |
BussException(ApiResponse) |
带响应码 |
BussException(Throwable) |
BaseException¶
cn.cnbm.bams.common.exception.BaseException
受检异常基类(extends Exception),携带 ApiResponse response。
单位换算与计算¶
CalUtils¶
cn.cnbm.bams.common.trans.CalUtils
单位换算/值计算工具,支持加减乘除和条件表达式(用 Aviator 表达式引擎)。
| 方法签名 | 功能 |
|---|---|
static String invokeFunction(String value, String function, Double param, String stdv, String condition) |
按 function 计算。condition 不满足返回 null |
function 取值:add / minus / multiply / divide / bool。multiply/divide 用 BigDecimal 保精度。
TransUnit¶
cn.cnbm.bams.common.trans.TransUnit
时间单位枚举:hour(HOURS) / mins(MINUTES) / sec(SECONDS) / msc(MILLISECONDS) / day(DAYS)。
BdUnitTransCache¶
cn.cnbm.bams.common.trans.type.BdUnitTransCache
单位换算缓存 POJO。字段:unitCode / srcCode / stdCode / function / param / condition / corpCode。
JSON 序列化配置¶
@NumberFormatter 注解¶
cn.cnbm.bams.common.jsonconf.NumberFormatter
字段级注解,配合 Jackson 实现 Number 格式化序列化。
| 属性 | 默认值 | 说明 |
|---|---|---|
type |
"Round" | Round(四舍五入)或 Format(格式化) |
format |
"#.00" | DecimalFormat 模式 |
precision |
2 | 小数位数 |
roundingMode |
HALF_UP | 舍入模式 |
MySimpleModule¶
cn.cnbm.bams.common.jsonconf.MySimpleModule
Jackson SimpleModule,注册: - JDK8 时间(LocalDateTime/LocalDate/LocalTime/Instant)序列化/反序列化 - Long/BigInteger/Long.TYPE → String(防前端精度丢失) - Hutool JSONNull → null
来源 pig4cloud 框架(Apache 2.0)。
其他工具¶
CacheUtils¶
cn.cnbm.bams.common.utils.cache.CacheUtils
基于 Guava CacheBuilder 的 LoadingCache 构建工具。最大缓存 10000。
| 方法签名 | 功能 |
|---|---|
static <K,V> LoadingCache<K,V> buildAsyncReloadingCache(Duration, CacheLoader<K,V>) |
异步刷新缓存(适合全局/系统级) |
static <K,V> LoadingCache<K,V> buildCache(Duration, CacheLoader<K,V>) |
同步刷新(适合 ThreadLocal 相关) |
FileUtils¶
cn.cnbm.bams.common.utils.io.FileUtils
临时文件创建。createTempFile() 创建 UUID 命名的临时文件,JVM 退出自动删除。
DelayQueueUtils¶
cn.cnbm.bams.common.utils.DelayQueueUtils
简易延迟执行。execute(key, runnable, seconds) 延迟执行,同一 key 未执行完时重复提交被忽略。
LogUtils¶
cn.cnbm.bams.common.utils.LogUtils
日志工具,封装 SLF4J Logger,自动通过堆栈获取调用类名/方法名。
| 方法签名 | 功能 |
|---|---|
static void info/debug/warn/error(Object msg) |
各级别日志(自动定位调用者) |
static String getClientIp(HttpServletRequest) |
从 x-forwarded-for 等头取客户端 IP |
static String toString(Throwable e) |
异常栈转字符串 |
MybatisTenantContext¶
cn.cnbm.bams.common.utils.MybatisTenantContext
Mybatis 多租户上下文,ThreadLocal
| 方法 | 说明 |
|---|---|
Boolean get() |
取当前线程租户开关 |
void set(boolean) |
设置 |
void clear() |
清除(防内存泄漏) |
注解清单¶
common-tool 定义的核心注解(被其他模块引用):
| 注解 | 包路径 | 作用位置 | 说明 |
|---|---|---|---|
@TenantDataSource |
common.annotations |
类/方法 | 标记走哪个数据源,value 默认 "master" |
@SequenceGenerator |
common.annotations.sequence |
实体字段 | 序列号生成,详见 05-业务服务层 |
@CheckRepeat |
common.annotations |
实体字段 | 重复值校验 |
@Formula |
common.annotations.mybatis |
实体字段 | 字段=子查询表达式 |
@RedisCache |
common.annotations.mybatis |
实体字段 | 查询后 Redis 回填 |
@FieldValueFormat |
common.annotations.mybatis |
实体字段 | 字段格式化(trim/正则替换) |
@ExcelDictionaryColumn |
common.annotations.excel |
实体字段 | Excel 字典列(编码→中文) |
@ExcelUniqueColumn |
common.annotations.excel |
实体字段 | Excel 去重列 |
@CommonData |
common.annotations.permission |
类/方法 | 数据权限:查上级数据 |
@IgnoreSession |
common.annotations.permission |
方法 | 跳过 session 校验 |
@RequireDataScope |
common.annotations.permission |
类/方法 | 控制数据范围 |
@RequirePermission |
common.annotations.permission |
方法 | 要求权限 |
@TransProperty |
common.annotations |
方法 | 属性翻译 |
常量与枚举¶
| 类 | 包路径 | 说明 |
|---|---|---|
Constants |
common.constant |
全局常量(时间维度、import 批次大小、RSA 密钥等) |
DictConstant |
common.constant |
字典常量 |
PermissionConstants |
common.constant |
数据权限范围常量(DATA_ALL/DATA_CORP 等) |
PermissionContext |
common.constant |
权限上下文字段定义(userId/dataScope/corpCode 等) |
TableConstant |
common.constant |
表名常量 |
BaseEnum |
common.enums |
枚举基接口(getCode/getMsg) |
BusinessStatus |
common.enums |
业务状态枚举 |
BusinessType |
common.enums |
业务操作类型 |
EnableState |
common.enums |
启用状态 |
HttpMethod |
common.enums |
HTTP 方法 |
ResponseCode |
common.enums |
响应码(见上文统一响应章节) |
TimeDimensEnum |
common.enums |
时间维度 |
UnitEnum |
common.enums |
单位 |
相关文档¶
- 04-实体与数据访问 — BaseEntity、BaseMapperExt
- 05-业务服务层 — 序列号、动态数据源
- 12-FAQ与注意事项 — 异常双轨制、JSON 三套并存