外观
后端常用工具类
引入BASE 模块后可以使用到一下工具类,即可以在 java环境,也可以在groovy环境中使用。 除此之外我们还引入了 hutool 工具类,请自行查阅相关文档。
maven 坐标
java
<dependency>
<groupId>com.dstz</groupId>
<artifactId>ab-base-common</artifactId>
</dependency>
用户上下文工具类 UserContextUtils
UserContextUtils 工具类 主要提供当前用户的信息
UserContext getUserContext()
:获取当前用户上下文Optional<IUser> getUser()
: 获取当前用户,需判空IUser getValidUser()
:获取当前用户,如果没有则抛出异常String getUserId()
: 获取当前用户IDString getUserName()
: 获取当前用户姓名String getAccount()
: 获取当前用户账号Optional<IGroup> getGroup()
: 获取当前用户组织,需判空String getGroupId()
:获取当前用户组织Idboolean isSuperAdmin()
: 是否是超级管理员static void clear()
: 清楚当前执行人
List 转 Tree工具类 BeanConversionUtils
listToTree
主要将 list 类型的数据结构转成 树形,非常高效、有用。万条以内的树形数据从此告别异步加载
java
<T extends Tree> List<T> listToTree(List<T> list)
注:
- T 需要实现接口 com.dstz.base.api.model.Tree
- list 数据是有层级关系的,类似于 id parentId 这种的
Bean属性复制 BeanCopierUtils
BeanCopierUtils 用于 bean 之间的 属性的复制
copyProperties 属性拷贝
java
/**
* 属性拷贝
*
* @param source 源对象
* @param target 目标对象
*/
void copyProperties(Object source, Object target)
transformBean 类转换
java
/**
* 将一个类转换成另外一个类。属性copy
* @param source 源对象
* @param clazz 目标类
* @return 目标对象
*/
T transformBean(Object source, Class<T> clazz)
transformList 列表转换
java
/**
* 将列表转换为另一个类对象实例列表。
*
* @param sourceList 源数据列表
* @param targetClass 目标类
* @param <T> T
* @return 目标对象列表
*/
List<T> transformList(Collection<?> sourceList, Class<T> targetClass)
transformMap bean 转map
java
/**
* 将bean转换为Map
*
* @param bean bean
* @param editable 限制的类或接口,必须为目标对象的实现接口或父类,用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将editable设置为父
* @return map存放的键值数据
*/
Map<String, Object> transformMap(Object bean, Class<?> editable)
汉语拼音工具类 HanYuPinyinUtil
toHanYuPinyin 汉语转拼音
java
/**
* 将文字转为汉语拼音
*
* @param ChineseLanguage 要转成拼音的中文
*/
String getPinyinString(String ChineseLanguage)
getFirstLetter 取第一个字母
java
/**
* 取第一个汉字的第一个字符
*
* @param ChineseLanguage 汉字
*/
String getFirstLetter(String ChineseLanguage)
getFirstLetters 取所有汉字的第一个字母
java
/**
* 取所有汉字的第一个字母
* @param ChineseLanguage 汉字
* @param caseType 大写,小写
*/
String getFirstLetters(String ChineseLanguage, HanyuPinyinCaseType caseType)
HanYuPinyinUtil.getFirstLettersLo 取所有汉字的第一个字母转小写
java
/**
* 取所有汉字的第一个字母 转小写
* @param ChineseLanguage 汉字
*/
String getFirstLettersLo(String ChineseLanguage)
HanYuPinyinUtil.getFirstLettersUp 取所有汉字的第一个字母转大写
java
/**
* 取所有汉字的第一个字母 转大写
* @param ChineseLanguage 汉字
*/
String getFirstLettersLo(String ChineseLanguage)
Rest 请求工具类 AbRestTemplateUtil
AbRestTemplateUtil.getRestTemplate 获取RestTemplate
java
/**
* 获取rest template
*
* @param isService 是否微服务
* @return rest template
*/
RestTemplate getRestTemplate(boolean isService)
系统属性工具类 AbPropertyUtil
系统属性工具类用来获取系统中的配置,系统属性配置分为 yml文件中的配置和数据库中的属性配置,对应的工具类也分为两种:
- AbPropertyUtil.Yml : 获取yml 文件中的配置
- AbPropertyUtil.Sys : 获取数据库中的属性配置
AbPropertyUtil.Yml.get 获取yml 属性配置
java
/**
* 根据键值获取yml文件中配置的值。
*
* @param property 属性
* @param defaultValue 默认值
* @return String
*/
String get(String property, String defaultValue)
/**
* 根据键值获取yml文件中配置的值。
* @param property 属性
* @return String
*/
String get(String property)
可根据已知数据类型 调用不同的 get 方法,如:getInt
java
/**
* 获取整形值。
*
* @param property
* @return
*/
Integer getInt(String property)
Integer getInt(String property,Integer defaultValue)
/**
* 获取布尔值。如果配置值为 true,则返回true。这里不区分大小写,可以配置成True等。
*
* @param property
* @return
*/
boolean getBoolean(String property)
AbPropertyUtil.Sys.get 获取系统属性配置
使用 AbPropertyUtil.Sys.get 获取系统属性配置 首先要定义 propertyEnum 枚举常量,可以使用 ab-base-common 中的 com.dstz.base.common.property.PropertyEnum
,也可以根据不同的模块定义枚举类, 只要实现 com.dstz.base.common.property.IBaseProperty
即可。如:
java
public enum BpmPropertyEnum implements IBaseProperty {
CHECK_FLOW_READ_PERMISSION_SWITCH("isCheckFlowReadPermission","是否校验流程实例只读权限",true);
//唯一标识Key
private String key;
//描述
private String desc;
//默认值
private Object defaultValue;
}
可根据已知数据类型 调用不同的 get 方法,如:getInt
java
/**
* 获取字符串参数值。
* @param propertyEnum
* @return
*/
String get(IBaseProperty propertyEnum)
/**
* 根据参数别名获取整形参数。
* @param propertyEnum
* @return
*/
Integer getInt(IBaseProperty propertyEnum)
/**
* 根据别名获取长整型参数。
* @param propertyEnum
* @return
*/
Long getLong(IBaseProperty propertyEnum)
/**
* 根据别名获取布尔型参数值。
* @param propertyEnum
* @return
*/
boolean getBoolean(IBaseProperty propertyEnum)